我已经在 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/