java - Tomcat+Spring环境下的Jersey找不到ComponentProvider。为什么?

标签 java spring tomcat jersey

我已经在 Tomcat 上部署了 Jersey,并且一切正常(当我使用 com.sun.jersey.spi.container.servlet.ServletContainer 时),但是一旦我将其更改为 com.sun.jersey.spi .spring.container.servlet.SpringServlet(根据我能找到的所有教程),我得到一个讨厌的异常:

Apr 19, 2009 5:07:35 PM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet ServletAdaptor as unavailable
Apr 19, 2009 5:07:35 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /myservice threw load() exception
java.lang.ClassNotFoundException: com.sun.jersey.spi.service.ComponentProvider

知道它可以存放什么包/发行版吗?我错过了什么?

也许我根本不需要它。我试图确保当我的资​​源类被加载时,它将被 Autowiring 并用它所依赖的其余 Bean 进行初始化。可以采用不同的方式吗?

谢谢。

最佳答案

com.sun.jersey.spi.service.ComponentProvider 接口(interface)是 jersey-core JAR 的一部分,所以你得到那个异常很奇怪。

确保您同时使用相同版本的 Jersey 库(即您使用的是 Jersey 1.0.1 库,而不是混合使用 1.0 和 1.0.1,因为 Spring 类在这两个版本之间已重命名)。

还要确保您的 web.xml 中有一个 ContextLoaderListener,如下所示:

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

关于java - Tomcat+Spring环境下的Jersey找不到ComponentProvider。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/766114/

相关文章:

java - 存储库对象未在服务类中 Autowiring

java - 将 orm xml 从外部 Jar 加载到 Spring Boot 中

java - RestTemplate.postForObject - 错误 : org. springframework.web.client.HttpClientErrorException:400 错误请求

java - 当我尝试在 Struts 中执行我的第一个程序时,无法解析 HttpServletRequest

tomcat - 部署时的Grails数据库连接问题

java - 为什么我的 catch block 永远循环?

java - 扔不工作

java - 小程序无法实例化

java - 基于HTTP方法自定义Spring MVC requestBody映射?

xml - http ://java. sun.com/jsp/jSTL/core 无法在web.xml中解析……(只在一个项目的部分jsp页面中)