即使添加了依赖罐,也发生了ClassNotFoundException

时间:2019-05-31 04:55:52

标签: java tomcat jersey

我正在使用Jersey创建一个简单的REST Web服务。当我尝试在服务器(Tomcat 7)上运行它时,出现以下异常。我可以在Maven依赖库中看到该类(com.sun.jersey.spi.container.servlet.ServletContainer)已经存在。需要帮助。

Exception: 
SEVERE: Servlet /SampleJersey threw load() exception
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)

1。我添加了额外的maven依赖项核心和servlet并进行了尝试。但这没用。

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-core</artifactId>
    <version>1.17.1</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-servlet</artifactId>
    <version>1.17.1</version>
</dependency>
  1. 我也尝试了以下方法: 右键单击项目->构建路径->构建路径->添加库->服务器运行时-> Apache Tomcat v7.0

这是我的pom.xml:

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
     <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>
    <dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.19.4</version>
</dependency>
  </dependencies>

和web.xml:

<servlet>
 <servlet-name>Jersey Web Application</servlet-name>
 <servlet-class>
     com.sun.jersey.spi.container.servlet.ServletContainer
 </servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
 <servlet-name>Jersey Web Application</servlet-name>
     <url-pattern>/*</url-pattern>
</servlet-mapping>

1 个答案:

答案 0 :(得分:0)

这里您正在Eclipse中的服务器上以动态Web项目的形式运行该项目,因此您应该打开项目属性,然后通过将maven依赖项添加到部署程序集来将maven依赖项发送到服务器目录。

  1. 右键单击项目->属性->部署程序集->添加-> Java构建路径条目-> maven依赖项