【发布时间】:2017-08-11 08:01:31
【问题描述】:
完整存档: google drive
(Tomcat 7.0)
我已经重复了Jersey Restful exception的代码
本地测试网址 - http://localhost:8080/test/algebra/sum?a=1&b=2
得到了:
HTTP Status 500 - Resource configuration class edu.algebra could not be loaded.
type Exception report
message Resource configuration class edu.algebra could not be loaded.
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Resource configuration class edu.algebra could not be loaded.
org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:466)
org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:302)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:168)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:748)
root cause
**java.lang.ClassNotFoundException: edu.algebra**
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:264)
org.glassfish.jersey.internal.util.ReflectionHelper$7.run(ReflectionHelper.java:407)
org.glassfish.jersey.internal.util.ReflectionHelper$7.run(ReflectionHelper.java:397)
java.security.AccessController.doPrivileged(Native Method)
org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:454)
org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:302)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:168)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:748)
注意 Apache Tomcat/7.0.56 日志中提供了根本原因的完整堆栈跟踪。
为什么?
【问题讨论】:
标签: java rest tomcat jersey classnotfound