2017-05-08 60 views
1

由於2天內我遇到了這個問題,它不會消失。Jersey 2.25.1使用MediaType.APPLICATION_XML時出現HTTP STATUS 500錯誤

一個簡單的解釋就是我想做的事:

1)使用的球衣2.25.1它顯示XML作爲輸出構建一個簡單的RESTful Web服務。

2)它部署在Tomcat

只是爲了信息我的JSON和純文本RESTful Web服務是工作的罰款。在使用@RootElement時,我只會遇到XML錯誤。我用java 1.8,Jersy 2.25.1下,Tomcat 8.5

,我一次又一次地提示以下錯誤:不知道如何解決它:

Error Image

我已經試過這兩個例子很好,但沒有運氣:

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

我已經試過多個例子,但儘管如此,這錯誤顯示了,我解決不了它。有人可以向我解釋爲什麼會出現這種情況。

在此先感謝。

+1

檢查https://www.mkyong.com/webservices/jax-ws/java-lang-classnotfoundexception-comsunxmlbindv2modelannotationannotationreader/和http://stackoverflow.com/questions/27046836/why-has-annotationreader-been從jaxb-reference-implementation鏈接中刪除 –

回答

1

謝謝大家我解決了這個問題......也許這個信息將幫助所有正在尋找問題的人。主要的問題是,我不知道是什麼原因。如果我作出Eclipse的一個新的Maven項目與組ID org.glassfish.jersey.archetypes 工件ID球衣,快速入門,web應用 2.25.1 版本, eclipse用於創建一個包含POM文件的整個項目,並且在這個項目中,如果我甚至跑過https://jersey.java.net/documentation/2.5.1/media.html#d0e7129 這個簡單的球衣官方演示,我得到的是相同的註釋錯誤。我認爲在日食創建的POM文件中有很多我不需要的東西,它們必須與其他東西重疊。

所以在上面的例子mkyong我剛纔添加下面的依賴,它現在工作得很好:

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

謝謝大家幫助我。 :)

0

您應該使用@XmlRootElement註釋而不是@RootElement。還請確保你有依賴關係jersey-media-jaxb在pom.xml或類路徑