【问题标题】:Jersey 2.25.1 HTTP STATUS 500 Error when using MediaType.APPLICATION_XMLJersey 2.25.1 HTTP STATUS 500 使用 MediaType.APPLICATION_XML 时出错
【发布时间】:2020-04-20 03:18:47
【问题描述】:

自从 2 天以来,我一直被这个问题困扰并且它不会消失。

简单解释一下我想做什么:

1) 使用 jersey 2.25.1 构建一个简单的 Restful Web 服务,将 XML 显示为输出。

2) 部署在Tomcat上

仅供参考我的 JSON 和纯文本 restful web 服务运行良好。使用 @RootElement 时,我只会收到 XML 错误。我正在使用 java 1.8、Jersy 2.25.1、tomcat 8.5

我一次又一次收到以下错误,不明白如何解决:

我也试过这两个例子,但没有运气:

1)https://www.mkyong.com/webservices/jax-rs/download-xml-with-jersey-jaxb/

我尝试了多个示例,但仍然出现此错误,我无法解决它。有人可以解释一下为什么会出现这种情况。

提前致谢。

【问题讨论】:

标签: web-services rest annotations jersey


【解决方案1】:

谢谢大家我解决了这个问题......也许这个信息会帮助每个正在寻找这个问题的人。主要问题是我不知道是什么原因如果我使用 Group Id org.glassfish.jersey.archetypes Artifact Id jersey- quickstart-webapp version 2.25.1,eclipse 用来创建一个带有 POM 文件的整个项目,如果我什至运行 https://jersey.java.net/documentation/2.5.1/media.html#d0e7129 在这个项目中 这个简单的球衣官方演示,我得到了同样的注释错误。我认为在 eclipse 创建的 POM 文件中有很多我不需要的东西,而且必须与其他东西重叠。

所以在上面的 mkyong 示例中,我只是在下面添加了依赖项,现在它工作得很好:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.2.11</version>
</dependency>  

感谢大家帮助我。 :)

【讨论】:

    【解决方案2】:

    只是一点点更新,甚至更新 我也在创建基本的Jeresy webApp 并面临同样的问题,但上述解决方案还不够。

    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.2.11</version>
    </dependency>  
    

    构建并点击我们的端点后,将出现一个新问题

    javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: com/sun/xml/bind/v2/model/annotation/AnnotationReader
    

    要解决此问题,您还需要将以下依赖项添加到 pom.xml

    <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core -->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0.1</version>
    </dependency>
    
            <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.1</version>
    </dependency>
    

    所以这是完整的解决方案,让您的 Jeresy webApp 工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 2015-07-15
      • 2019-10-12
      • 2021-10-23
      • 2019-09-25
      • 1970-01-01
      • 2020-11-19
      相关资源
      最近更新 更多