【发布时间】:2022-01-21 19:55:55
【问题描述】:
我有一个应用程序部署到 JBoss 7.2 实例,该实例明确使用定义的 fasterxml.jackson 库:'com.fasterxml.jackson.core:jackson-databind:2.12.6' 但是在运行时,我收到不同版本的 jackson 错误:2.9.10.4-redhat-00001。作为 JBoss 模块加载的那个。
如何完全排除此应用程序的使用?我已经执行了以下操作,但似乎都没有工作:
- 排除所有其他 jackson 库从 maven 中下拉。
- 在构建过程中将正确的 jackson 库强制放入 WAR/lib 文件夹。
- 在
jboss-deployment-structure.xml中将所有jackson 库调用为<exclusion></exclusion> - 我什至将应用程序转换为使用
jackson codehaus,但jackson:2.9.10.4-redhat-00001的错误仍然存在。
错误
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.time.ZonedDateTime` (no Creators, like default construct, exist): no String-argument constructor/factory method to deserialize from String value ('2022-01-21T19:00:00Z') at [Source: (org.jboss.resteasy.client.core.BaseClientResponse$InputStreamWrapper); line: 1, column: 12] (through reference chain: com.app.domainobjects.proxy.Object["body"])
at com.fasterxml.jackson.core.jackson-databind@2.9.10.4-redhat-00001//com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
jboss-deployment-structure.xml
<?xml version="1.0"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<dependencies>
<module name="org.picketbox"/>
<module name="org.wildfly.clustering.singleton"/>
<module name="org.jboss.as.server"/>
<module name="org.jboss.msc"/>
</dependencies>
<exclusions>
<module name="com.fasterxml.classmate" />
<module name="com.fasterxml.jackson.core.jackson-core" />
<module name="com.fasterxml.jackson.core.jackson-annotations" />
<module name="com.fasterxml.jackson.core.jackson-databind" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" />
<module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
<module name="org.jboss.resteasy.resteasy-jackson-provider" />
</exclusions>
</deployment>
<sub-deployment name="app.war">
<exclusions>
<module name="com.fasterxml.classmate" />
<module name="com.fasterxml.jackson.core.jackson-core" />
<module name="com.fasterxml.jackson.core.jackson-annotations" />
<module name="com.fasterxml.jackson.core.jackson-databind" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" />
<module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
<module name="org.jboss.resteasy.resteasy-jackson-provider" />
</exclusions>
</sub-deployment>
</jboss-deployment-structure>
【问题讨论】:
标签: java jackson jboss jboss7.x jackson-databind