为了实现REST Web服务,我正在关注这篇文章:http://www.vogella.com/tutorials/REST/article.html
并做了这些步骤:
在这个包 com.vogella.jersey.first 中创建一个java类(与示例中相同),该类为GET注册其方法,并假设返回text / xml / html
将我的web.xml复制到此处
运行我的网络应用程序,我得到404并且这个例外:
... Marking servlet Jersey REST Service as unavailable
ott 30, 2015 9:31:58 AM org.apache.catalina.core.StandardContext loadOnStartup
GRAVE: Servlet [Jersey REST Service] in web application [/com.vogella.jersey.first] threw load() exception
java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:115)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1148)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5253)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5543)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
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)
ott 30, 2015 9:31:58 AM org.apache.coyote.AbstractProtocol start
INFORMAZIONI: Starting ProtocolHandler ["http-bio-8080"]
ott 30, 2015 9:31:58 AM org.apache.coyote.AbstractProtocol start
INFORMAZIONI: Starting ProtocolHandler ["ajp-bio-8009"]
ott 30, 2015 9:31:58 AM org.apache.catalina.startup.Catalina start
info: Server startup in 1506 ms
答案 0 :(得分:2)
您是否注意到Vogella教程中的罐子与您项目中的罐子完全不同?您项目中的罐子来自Jersey 1.x.本教程使用Jersey 2.x.因此,web.xml中的配置适用于2.x,这与1.x
不同您可以下载Jersey 2.x here。单击JAX-RS 2.0 RI Bundle链接。你需要的所有罐子都在那里。请注意,该分发中没有JSON / POJO支持jar。你需要单独找到它们。
确保删除项目中当前的所有jar,因为它们可能与较新版本冲突。