ClassNotFoundException 即使在添加依赖 jar 之后
ClassNotFoundException even after adding dependecy jars
我正在使用 Jersey 创建一个简单的 REST Web 服务。当我尝试在服务器上 运行 它时 (Tomcat 7) 我收到以下异常。我可以在我的 Maven 依赖库中看到 class(com.sun.jersey.spi.container.servlet.ServletContainer) 已经是 present.Need help.
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.I 已经添加了额外的 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>
- 我也尝试了以下方法:
右击项目 --> Build Path --> Build Path --> 添加库 --> Server Runtime --> 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>
这里是 运行 项目作为 eclipse 中服务器上的动态 Web 项目,因此您应该打开项目属性并通过将 maven 依赖项添加到部署程序集来将 maven 依赖项发送到服务器目录。
- 右键单击项目 -> 属性 -> 部署程序集 -> 添加 -> java 构建路径条目 -> maven 依赖项
我正在使用 Jersey 创建一个简单的 REST Web 服务。当我尝试在服务器上 运行 它时 (Tomcat 7) 我收到以下异常。我可以在我的 Maven 依赖库中看到 class(com.sun.jersey.spi.container.servlet.ServletContainer) 已经是 present.Need help.
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.I 已经添加了额外的 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>
- 我也尝试了以下方法: 右击项目 --> Build Path --> Build Path --> 添加库 --> Server Runtime --> 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>
这里是 运行 项目作为 eclipse 中服务器上的动态 Web 项目,因此您应该打开项目属性并通过将 maven 依赖项添加到部署程序集来将 maven 依赖项发送到服务器目录。
- 右键单击项目 -> 属性 -> 部署程序集 -> 添加 -> java 构建路径条目 -> maven 依赖项