我正在尝试配置jboss wildfly 8以使用Jackson作为JSON . 所以我补充道
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.6.Final</version>
<type>jar</type>
</dependency>
在我的耳朵项目 . 但在部署时我收到以下错误:
引起:java.lang.LinkageError:加载器约束违规:解析重写方法时“org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider $ Proxy $ _ $$ WeldClientProxy.disable(Lorg / codehaus / jackson / map / Des erializationConfig $ Feature; Z)Lorg / codehaus / jackson / jaxrs / JacksonJsonProvider;“当前类的类加载器(org / jboss / modules / ModuleClassLoader的实例),org / jboss / resteasy / plugins / providers / jackson / ResteasyJacksonPr ovider $ Proxy $$$ WeldClientProxy及其超类加载器(org / jboss的实例) / modules / ModuleClassLoader),具有类型sy.plugins.providers.jackson.ResteasyJacksonProvider的不同Class对象$ Proxy $$$ _ WeldClientProx y.disable(Lorg / codehaus / jackson / map / DeserializationConfig $ Feature; Z)Lorg / codehaus / Jackson / JAXRS / JacksonJsonProvider;用于签名
版本3.0.6与Wildfly不兼容吗?我怎么知道哪个版本有效?我也试过2.3.7和1.1但总是一样的错误 .
编辑:
我有一个带pojos的ejb模块 . 在这里,我有依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.3</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
所以看起来非常像 Jackson 2给我 .
在我耳边,我有以下依赖:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.6.Final</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
我现在需要resteasy-jackson2-provider吗?我现在需要jboss-deployment-structure.xml吗?
2 回答
WildFly 8已经包括 Jackson . 使用
<scope>provided</scope>
标记依赖项 . 然后,您需要根据documentation为您的部署添加jboss-deployment-structure.xml .当我导入
<module name = "com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
时它对我有用,因为<module name = "org.jboss.resteasy.resteasy-jackson2-provider" services = "Import" />
不会导出它