[英]HTTP Status 500 - Provider org.glassfish.json.JsonProviderImpl not found
I am using netbeans-8, jdk 7,tomcat 8.05.
我使用
netbeans-8, jdk 7,tomcat 8.05.
I created a webapp in netbeans
and added javax.json
api to my project, the code shows no errors, but when i run my servlet the below error occurs. 我在
netbeans
创建了一个webapp并将javax.json
api添加到我的项目中,代码显示没有错误,但是当我运行我的servlet时,会发生以下错误。
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
The javax.json api (provided in the JSON Processing API jar) is good only for compiling the application. javax.json api(在JSON Processing API jar中提供)仅适用于编译应用程序。
If you want to run the application, you have to download the JSON Processing RI jar , as explained here: https://jsonp.java.net/download.html 如果要运行该应用程序,则必须下载JSON Processing RI jar ,如下所述: https : //jsonp.java.net/download.html
The JSON Processing RI jar contains the org.glassfish.json.JsonProviderImpl class you are missing. JSON Processing RI jar包含您缺少的org.glassfish.json.JsonProviderImpl类。
From this answer you could replace javax.json dependency by its org.glassfish implementation. 从这个答案中,您可以通过其org.glassfish实现替换javax.json依赖项。
Maven repo , gives: Maven回购 ,给出:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.0.4</version>
</dependency>
I managed to make it work in my webapp in NetBeans by manually installing the JSON Processing RI jar. 我设法通过手动安装JSON Processing RI jar使其在NetBeans中的webapp中工作。
The complete procedure is: 完整的程序是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.