[英]Spring Jersey 2.7: java.lang.ClassNotFoundException: com.sun.jersey.spi.spring.container.servlet.SpringServlet
I am referring to this article 我指的是这篇文章
My web.xml
looks like 我的
web.xml
看起来像
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>InventoryApplication</servlet-name>
<servlet-class>
com.sun.jersey.spi.spring.container.servlet.SpringServlet
</servlet-class>
<init-param>
<param-name>
com.sun.jersey.config.property.packages
</param-name>
<param-value>com.org.me_services.inventory.services</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InventoryApplication</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
and maven dependencies as 和Maven依赖为
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
<version>2.8</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<!--
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
-->
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<!--<artifactId>*</artifactId>-->
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sun.jersey.test.framework</groupId>
<artifactId>jersey-test-framework</artifactId>
<version>1.0.3.1</version>
<scope>test</scope>
</dependency>
the resource class is 资源类是
@Component
@Path("/inv")
public class HelloResource {
@GET
@Path("/hello")
public Response hello() {
System.out.println("REQUEST RECEIVED");
return Response.accepted().build();
}
}
I deploy this on Tomcat 7x
and see errors as 我将其部署在
Tomcat 7x
并看到如下错误
[INFO] [talledLocalContainer] INFO: Marking servlet com.org.me_services.inventory.services.InventoryApplication as unavailable
[INFO] [talledLocalContainer] May 04, 2014 9:52:03 AM org.apache.catalina.core.StandardContext loadOnStartup
[INFO] [talledLocalContainer] SEVERE: Servlet /services threw load() exception
[INFO] [talledLocalContainer] java.lang.ClassNotFoundException: com.sun.jersey.spi.spring.container.servlet.SpringServlet
[INFO] [talledLocalContainer] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
[INFO] [talledLocalContainer] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
[INFO] [talledLocalContainer] at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:529)
[INFO] [talledLocalContainer] at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:511)
[INFO] [talledLocalContainer] at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1148)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
[INFO] [talledLocalContainer] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
[INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:262)
[INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:745)
[INFO] [talledLocalContainer]
Put all jars inside the lib folder, don't select external jars from build path, you have to put your all requred jars inside 将所有jar放在lib文件夹中,不要从构建路径中选择外部jar,您必须将所有需要的jar放在其中
WebContent\\WEB-INF\\lib
WebContent \\ WEB-INF \\ lib
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.