NoClassDeFoundError WSServletContextListener和XMLStreamBuffer

use*_*455 7 java jboss jax-ws m2eclipse jboss6.x

尝试将JAX-WS Maven项目部署到JBOSS6.0.0时,我遇到以下错误.

17:45:03,451 ERROR [[/isp]] Error configuring application listener of class com
sun.xml.ws.transport.http.servlet.WSServletContextListener: java.lang.NoClassDe
FoundError: javax/servlet/ServletContextAttributeListener
    at java.lang.ClassLoader.findBootstrapClass(Native Method) [:1.6.0_24]
    at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:927)
[:1.6.0_24]
...
Run Code Online (Sandbox Code Playgroud)

我的Pom文件具有以下依赖关系:

<dependency>  
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.1.4</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我尝试将jar文件放在common/lib,/ lib或/ lib/endorsed中但仍然得到相同的结果.
很多人都遇到过这个问题而且有很多答案,但我发现并尝试过的都没有.

更新
所以,我尝试将lib放在WEB-INF/lib中.这消除了以前的错误.但是,现在出现了一个新错误.这是堆栈跟踪:

09:00:46,353 ALLVARLIG [http] WSSERVLET11: failed to parse runtime descriptor: j
ava.lang.NoClassDefFoundError: com/sun/xml/stream/buffer/XMLStreamBuffer: java.l
ang.NoClassDefFoundError: com/sun/xml/stream/buffer/XMLStreamBuffer
    at com.sun.xml.ws.server.EndpointFactory.generateWSDL(EndpointFactory.ja
va:424) [:2.1.4]
    at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.
java:196) [:2.1.4]
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467) [:2.
Run Code Online (Sandbox Code Playgroud)

use*_*455 13

这太荒谬了.

我从JAXWS-rt下载(http://jax-ws.java.net/2.2.1/)中添加了所有jar文件,并将/ lib目录中的所有jar文件复制到JBOSS_HOME/servers/default /库.

之后工作得很好.还是不敢相信我干了这么久.

好吧,现在一切都好.

  • 任何包含"干驼峰"这个短语的帖子都值得一个有用的投票. (8认同)
  • 在lib目录中也可以在Tomcat中运行 (3认同)