簡體   English   中英

使用 MediaType.APPLICATION_XML 時 Jersey 2.25.1 HTTP STATUS 500 錯誤

[英]Jersey 2.25.1 HTTP STATUS 500 Error when using MediaType.APPLICATION_XML

從 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/

我已經嘗試了多個示例,但仍然出現此錯誤,我無法解決。 有人可以解釋一下為什么會出現這種情況。

提前致謝。

謝謝大家我解決了這個問題...也許這些信息會幫助每個正在尋找問題的人。 主要問題是我不知道出於什么原因如果我在eclipse上用Group Id org.glassfish.jersey.archetypes Artifact Id jersey-quickstart-webapp version 2.25.1創建一個新的maven項目,eclipse用來創建一個整體如果我什至運行https://jersey.java.net/documentation/2.5.1/media.html#d0e7129這個簡單的球衣官方演示,在這個項目中使用 POM 文件的項目,我得到了相同的注釋錯誤. 我認為在 eclipse 創建的 POM 文件中有很多我不需要的東西,並且必須與其他東西重疊。

因此,在上面的 mkyong 示例中,我剛剛添加了以下依賴項,現在工作正常:

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

謝謝大家幫助我。 :)

只是一點點更新,甚至更新我也在創建基本的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 工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM