首页 文章

从我在Wildfly 8.2.0上的War中排除org.codehouse.jackson . *以使用com.fasterxml.jackson . *

提问于
浏览
0

我尝试使用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>

编辑:我注意到我的战争中有几个重复的 jar (包括resteasy-jackson-provider) . 为了解决这个问题,我试图尽可能多地从我的poms中排除一般的poms(例如wildfly-parent) . 我现在在我的poms中只有直接必要的依赖项,问题仍然存在(多个 jar 我没有包含或包含在我的战争中提供的范围) . 有没有人知道为什么会这样?
编辑2:问题是固定的,我的maven脚本有问题,没有清理战争...我的部分愚蠢的错误

1 回答

  • 0

    我也遇到了同样的问题

    我不是很确定,但是当我尝试时,我发现Wildfly已将所有模块打包在javaee.api下,因此您无法排除任何模块或必须排除所有模块 . 您必须升级Wildfly版本和升级包 .

    我至少可以告诉你,在最新版本中他们使用的是speedxml . 因此,如果您不需要特定版本的fasterXML的jackson,只需升级wildfly即可 .

相关问题