2014-04-02 31 views
12

我使用netbeans-8, jdk 7,tomcat 8.05.netbeans創建web應用程序,並添加javax.json API到我的項目,該代碼顯示沒有錯誤,但是當我跑我的servlet下面的錯誤發生。HTTP狀態500 - 提供商org.glassfish.json.JsonProviderImpl沒有找到

HTTP Status 500 - Provider org.glassfish.json.JsonProviderImpl not found 

type Exception report 

message Provider org.glassfish.json.JsonProviderImpl not found 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.json.JsonException: Provider org.glassfish.json.JsonProviderImpl not found 
    javax.json.spi.JsonProvider.provider(JsonProvider.java:97) 
    javax.json.Json.createObjectBuilder(Json.java:266) 
    NewServlet.doGet(NewServlet.java:24) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:618) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 
root cause 

java.lang.ClassNotFoundException: org.glassfish.json.JsonProviderImpl 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1132) 
    java.lang.Class.forName0(Native Method) 
    java.lang.Class.forName(Class.java:190) 
    javax.json.spi.JsonProvider.provider(JsonProvider.java:94) 
    javax.json.Json.createObjectBuilder(Json.java:266) 
    NewServlet.doGet(NewServlet.java:24) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:618) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.3 logs. 

Apache Tomcat/8.0.3 

回答

23

javax.json api(JSON處理API jar中提供)僅適用於編譯應用程序。

如果你想運行的應用程序,你必須下載JSON Processing RI jar,因爲這裏說明:https://jsonp.java.net/download.html

的JSON處理RI罐子包含你缺少的org.glassfish.json.JsonProviderImpl類。

5

我設法通過手動安裝JSON處理RI jar在NetBeans中的webapp中工作。

完整的程序是:

  • 下載JAR:JSON Processing RI jar
  • 右鍵單擊項目 - >相關性,並添加新的依賴,提供虛擬組ID,工件ID和版本號。
  • 新創建的依賴性單擊鼠標右鍵,選擇「手動安裝神器」,提供下載的罐子
  • 重建項目,現在它應該工作
+0

這只是爲我工作的事情。 – Bimde

14

this answer您可以通過更換javax.json依賴其org.glassfish實現。

Maven repo,得出:

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.json</artifactId> 
    <version>1.0.4</version> 
</dependency> 
+2

將這添加到依賴關係列表後,沒有使用(( –

相關問題