的RESTEasy:找不到内容类型的应用程序/ JSON类型的作家(RESTEasy: Could

2019-07-18 07:06发布

我有一个消耗(应用/ JSON)和生产(应用/ JSON)RESTful服务(后)。 该服务的单一参数是一个注释的Java对象。

我使用org.jboss.resteasy.client.ClientRequest发送请求到服务。 不过,我得到这个例外在客户端和例外:

找不到内容类型的应用程序/ JSON型作家。

这是否意味着我缺少一些库罐或我有写我自己的应用程序/ JSON作家?

我使用RestEasy的2.3.3.Final

下面是我添加到我的POM,我认为可能是相关的各种依赖关系:

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.3.3.Final</version>
    </dependency>

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

    <dependency>
       <groupId>org.jboss.resteasy</groupId>
       <artifactId>resteasy-jaxb-provider</artifactId>
       <version>2.3.4.Final</version>
    </dependency>

    <dependency>
       <groupId>org.jboss.resteasy</groupId>
       <artifactId>resteasy-jackson-provider</artifactId>
       <version>2.3.4.Final</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.3.0</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.3.0</version>
    </dependency>

马特

Answer 1:

<dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>${jackson-mapper-asl.version}</version>
      <scope>runtime</scope>
   </dependency>

   <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
      <version>${jaxb-api.version}</version>
      <scope>runtime</scope>
   </dependency>

这仅仅是绰绰有余。

这里指: http://howtodoinjava.com/2012/12/15/how-to-write-restful-webservices-using-spring-3-mvc/



Answer 2:

如果您打算使用实现JAX-RS 2.0 RestEasy的更新版本,以下依赖性应该解决您的问题:

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jaxrs</artifactId>
    <version>3.0.5.Final</version>
</dependency>

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>jaxrs-api</artifactId>
    <version>3.0.5.Final</version>
</dependency>

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jaxb-provider</artifactId>
    <version>3.0.5.Final</version>
</dependency>

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson2-provider</artifactId>
    <version>3.0.5.Final</version>
</dependency>


Answer 3:

我使用的所有库包括:(Maven项目),但仍运行作为独立的应用程序,通过时产生maven-assembly-plugin ,我得到了同样的错误,但是从IDE运行时,它的工作原理没有问题。

我也有问题log4j2记录,因为它作为独立的脂肪罐子应用程序中运行时被彻底打破(在IDE完美的作品),所以我首先着眼于解决此:

没有找到Log4j2配置运行遮阳插件建造独立的应用程序时

所以,我从迁移解决了缺失的供应商和log4j2问题maven-assembly-pluginmaven-shade-plugin



Answer 4:

如果你在你的项目中应用了所有必要的依赖关系,请检查您的类实现Serializable接口。

@XmlRootElement
public class MyClass implements Serializable {
    //filds
}

也许它解决您的问题。



文章来源: RESTEasy: Could not find writer for content-type application/json type