我尝试将com.fasterxml.jackson用于我的JSON反序列化和序列化。我将com.fasterxml版本的依赖项放在我的war-project的pom.xml中,并在那里添加了org.jboss.resteasy.resteasy-jackson2-provider依赖项。但是我的WildFly抛出异常,它无法找到类org.codehouse.jackson.jaxrs.JacksonJsonProvider。我还尝试在我的jboss-deployment-structure.xml中排除resteasy-jackson-provider,并将新的resteasy-jackson2-provider添加为依赖项,将service-attribute设置为" import"正如我在以前的一些问题上找到的这些都没有解决我的问题。重要文件(希望我没有错过一个):
JBoss的部署结构:
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
<module name="org.jboss.resteasy.resteasy-json-provider"/>
</exclusions>
<dependencies>
<module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
pom.xml的依赖关系:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
<version>3.0.10.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>
编辑:我注意到我的战争中有几个重复的罐子(包括resteasy-jackson-provider)。为了解决这个问题,我试图尽可能多地从我的poms中排除一般的poms(例如wildfly-parent)。我现在在我的poms中只有直接必要的依赖项,问题仍然存在(多个罐子我没有包含或包含在我的战争中提供的范围)。有没有人知道为什么会出现这种情况? 编辑2:问题是固定的,我的maven脚本出现了问题,这个问题没有清理战争...我的部分犯了愚蠢的错误
答案 0 :(得分:0)
我也遇到了同样的问题
林&#39;不是很确定,但是当我尝试时,我发现Wildfly已将所有模块打包在javaee.api下,因此您无法排除任何模块或必须排除所有模块。您必须升级Wildfly版本和升级包。
我至少可以告诉你,在最新版本中他们使用的是speedxml。因此,如果您不需要特定版本的fasterXML杰克逊,请升级野生动物。
答案 1 :(得分:0)
对于到达这里的任何人,我想评论一下,对我来说,关键是这个排除,特别重要的是第二个:
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
<module name="org.jboss.resteasy.resteasy-json-binding-provider"/>
</exclusions>
所以,我希望这对某人有所帮助。