在Tomcat + Spring环境中的Jersey无法找到ComponentProvider。为什么?

时间:2009-04-19 21:20:08

标签: 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

知道它可以包含哪些包/发行版吗?我错过了什么?

可能我根本不需要它。我正在尝试确保当我的资​​源类被加载时,它将被自动连接并初始化它所依赖的其余Bean。它能以不同的方式完成吗?

感谢。

1 个答案:

答案 0 :(得分:1)

com.sun.jersey.spi.service.ComponentProvider接口是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>