com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any ro

来源:互联网 发布:phpcms和织梦cms比较 编辑:程序博客网 时间:2024/06/17 23:44
严重: Servlet [Jersey REST Service] in web application [/MyRestful] threw load() exceptioncom.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99)at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359)at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)at javax.servlet.GenericServlet.init(GenericServlet.java:158)at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151)at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038)at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)


项目结构图

今天写jersey服务端的时候遇到了错误,出现这个错误的原因有很多种,总结一下其实就是web.xml中配置文件写错导致的。以下是我的web.xml配置信息

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>RESTfulWS</display-name><servlet><servlet-name>Jersey REST Service</servlet-name><servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class><init-param><param-name>com.sun.jersey.config.property.packages</param-name><!-- 服务端接口所在的包名 --><param-value>com.simon.jersey</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>Jersey REST Service</servlet-name><url-pattern>/rest/*</url-pattern></servlet-mapping></web-app>

有可能报该错误的原因有两种:

一.服务端接口所在的包名写错,我就是错在这地方

<param-name>com.sun.jersey.config.property.packages</param-name><!-- 服务端接口所在的包名 --><param-value>com.simon.jersey</param-value>
二.修改了web.xml文件没有刷新重启Tomcat服务器,这个是在stackoverflow中有人遇到的



1 0
原创粉丝点击