【问题标题】:WebServices in Java using Jersey使用 Jersey 的 Java 中的 WebServices
【发布时间】:2012-04-18 01:08:43
【问题描述】:

我们尝试通过以下链接使用 Jersey 和 Tomcat 在 Java 中创建示例 web 服务 helloworld:

但是在运行应用程序时,我们收到如下错误:

java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)

我的 ‍‍‍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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    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>Jersey</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

  <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>sample.hello.resources</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>

所以请给我任何建议

【问题讨论】:

标签: java web-services tomcat jersey


【解决方案1】:

您是否已将所有 Jersey 下载的文件复制到 lib 文件夹中?

它正在给ClassNotFoundExceptioncom.sun.jersey.spi.container.servlet.ServletContainer

【讨论】:

  • 我已经在lib文件夹中添加了所有的jersey jar,仍然显示同样的错误
  • 它对我有用,我使用了以下罐子 asm-3.1.jar jackson-core-asl-1.9.2.jar jackson-jaxrs-1.9.2.jar jackson-mapper-asl- 1.9.2.jar jackson-xc-1.9.2.jar jersey-client-1.11.jar jersey-core-1.11.jar jersey-json-1.11.jar jersey-server-1.11.jar jersey-servlet-1.11.jar 抛弃-1.1.jar jsr311-api-1.1.1.jar
  • 请说明您遵循的步骤
  • 我按照网站中提到的相同步骤进行操作。你可以从这个link下载eclipse项目
  • 我正在研究这个例子中的计算器:jgeppert.com/2009/03/restful-web-services-jax-rs-mit-jersey 请提供建议。
【解决方案2】:

感谢@AurA - 我缺少的依赖项是 jersey-servlet-。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-26
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多