java - 使用 Jersey 的 Java Web 服务

标签 java web-services tomcat jersey

我们尝试通过以下链接使用 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>

所以请给我任何建议

最佳答案

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

它在 com.sun.jersey.spi.container.servlet.ServletContainer 处给出 ClassNotFoundException

关于java - 使用 Jersey 的 Java Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009199/

相关文章:

android - 基于 REST 的 Moodle 函数 API 文档

python - 处理(排队)对调用速率受限的外部 API 的 Web 服务的请求

java - 使用Tomcat-DBCP的JDBC需要Tomcat自带的/lib中的JDBC驱动

c# - 在域驱动设计中,当一个实体克隆自己时,谁将它添加到它的容器中?

java - 如何在 j2ee webapp 中提供文件下载

java - Android 图像转 Base64

eclipse - 网络驱动器的链接在独立的 Tomcat 中不起作用,但在 Eclipse+Tomcat 中起作用

java - 从原始文件夹播放随机声音

web-services - 分布式服务如何比分布式对象更好?

ubuntu - 如何在 IntelliJ Idea 中使用 Ubuntu tomcat8-user 包?