无法在wildfly9中使用jackson

时间:2015-09-02 12:04:59

标签: java json jackson wildfly

在Wildfly9中运行,我的应用程序对另一台服务器进行休息调用。 我得到错误消息

javax.ws.rs.ProcessingException: Unable to invoke request
at org.jboss.resteasy.client.jaxrs.engines.AppacheHttpClient4Engine.invoke(AppacheHttpClient4Engine.java:287)
...
Caused by: javax.ws.rs.ProcessingException: could not find writer for content-type application/json: type java.lang.String
at org.jboss.resteasy.core.interception.ClientWriterInterceptorContext.throwWriterNotFoundException(ClientWriterInterceptorContext.java:40)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.getWriter(AbstractWriterInterceptorContext.java:138)

如果我运行我的代码'standalone'(不在Wildfly中),则其余调用有效。这个错误可能是由于我的错误配置造成的(而且我对Wildfly来说是个新手)。

我见过的大多数帖子都是关于Wildfly8的,例如 https://developer.jboss.org/thread/237728?_sscc=t  和RestEASY and Jackson incompatibility - NoSuchMethodException,没有关于Wildfly9 :(

我已将META-INF / jboss-deployment-structure.xml修改为

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
  <deployment>
    <exclusions>
      <module name="org.jboss.resteasy.resteasy-jackson-provider"/>
      <module name="org.jboss.resteasy.resteasy-jettison-provider"/>
    </exclusions>
    <dependencies>
      <module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import" />
    </dependencies>
  </deployment>
</jboss-deployment-structure>

这是必要的吗?从帖子中,我得到的印象是jackson2在Wildfly9中是默认的。

我在pom文件中的jackson依赖项是:

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>2.2.2</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId>
  <version>2.2.2</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.2.2</version>
</dependency>

我也试过了杰克逊罐子的2.3.2版以及添加

<dependency>
  <groupId>com.fasterxml.jackson.jaxrs</groupId>
  <artifactId>jackson-jaxrs-base</artifactId>
  <version>2.3.2</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.jaxrs</groupId>
  <artifactId>jackson-jaxrs-json-provider</artifactId>
  <version>2.3.2</version>
</dependency>

在wildfly配置中,我使用standalone-full.xml配置文件(重命名为standalone.xml)。 我是否还需要为jackson2添加扩展名?

我感谢任何指导我正确方向的帮助/链接。

0 个答案:

没有答案