【发布时间】:2015-03-17 05:21:32
【问题描述】:
我正在尝试在 JBOSS7.1.1 中部署 RESTful Web 服务,它给了我以下错误: 错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/anthut]] (MSC service thread 1-1) Servlet /anthut throw load() exception: java.lang. ClassCastException: com.sun.jersey.spi.spring.container.servlet.SpringServlet 无法转换为 javax.servlet.Servlet。
我在项目中使用的球衣版本是 1.18.3。
下面给出了我的 web.xml 的一部分
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>abdfserve</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
请问这是什么原因造成的,我已经为此工作了几天了...我需要帮助...
【问题讨论】:
-
类路径上是否有多个版本的 servlet API?您不应该有任何额外的 servlet-api.jar。 JBOSS 已经提供了。
-
我应该把它从我的依赖中去掉吗?
-
您需要它作为编译时依赖项,但不应部署它。如果您使用 Maven,它具有“提供”范围。
-
是的,我使用 Maven,它提供了作用域。
-
谢谢@Thilo,确实我在 JBOSS 模块设置中复制了 servlet API;我在我的项目中使用的两个模块中创建了它的依赖关系,当我从一个模块中删除它时,问题得到了解决。