rest - javax.servlet.ServletException:资源配置类 com.mypkg.MyClass 不是类 javax.ws.rs.core.Application 的子类
问题描述
尝试使用 tomcat 8.5 加载我的球衣类时出现此错误
25-Oct-2018 16:02:16.635 SEVERE [https-jsse-nio-8443-exec-3] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet [RESTFulWebNMS servlet]
javax.servlet.ServletException: Resource configuration class com.mypkg.MyClass is not a subclass of class javax.ws.rs.core.Application.
at org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:461)
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:301)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:169)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:359)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
我链接到代码的依赖项如下
${tp_pkg}/jersey/jaxrs_ri_2_8/jaxrs_ri/lib/jersey-client.jar:
${tp_pkg}/jersey/jaxrs_ri_2_8/jaxrs_ri/lib/jersey-common.jar:
${tp_pkg}/jersey/jaxrs_ri_2_8/jaxrs_ri/lib/jersey-container-servlet-core.jar:
${tp_pkg}/jersey/jaxrs_ri_2_8/jaxrs_ri/lib/jersey-container-servlet.jar:
${tp_pkg}/jersey/jaxrs_ri_2_8/jaxrs_ri/lib/jersey-server.jar:
${tp_pkg}/jersey_guava/jersey_guava_2_7/jersey-guava-2.7.jar:
${tp_pkg}/jersey_media/jersey_media_2_7/jersey-media-sse-2.7.jar:
${tp_pkg}/jersey/jaxrs_ri_2_8/jaxrs_ri/api/javax.ws.rs-api-2.0.jar
Web.xml 条目是
<servlet>
<servlet-name>RESTFul servlet </servlet-name>
<servlet-class> org.glassfish.jersey.servlet.ServletContainer </servlet-class>
<init-param>
<param-name> javax.ws.rs.Application</param-name>
<param-value>com.mypkg.MyClass</param-value>
</init-param>
<load-on-startup> 1 </load-on-startup>
<async-supported> true </async-supported>
</servlet>
<servlet-mapping>
<servlet-name> RESTFul servlet </servlet-name>
<url-pattern> /rest/* </url-pattern>
</servlet-mapping>
配置类是
package com.mypkg
import org.glassfish.jersey.server.ResourceConfig;
public class MyClass extends ResourceConfig
{
public MyClass()
{
System.out.println("Successfully Registered");
}
}
任何帮助深表感谢。谢谢。
解决方案
推荐阅读
- sql - 如何使用 ACCEPT 在 ORACLE 中获取用户输入?
- jcr - JCR 用户登录失败
- javascript - 开玩笑错误''TypeError:无法读取未定义的属性'preventDefault'“
- r - 嵌套 for 循环转换为 lapply
- plugins - 查看插件无法正常工作
- sql - 使用 rails 活动记录方法执行原始 sql 查询
- c# - 无法从 'System.Collections.Generic.ICollection 转换
'到'x' - scala - 处理布尔的期货
- ios - 在 UITableViewCell 中使用扩展创建网点的行为很奇怪
- javascript - 即使启用 Javascript 后 WKWebView 也无法正常工作 - Swift