NoClassDeFoundError WSServletContextListener и XMLStreamBuffer - PullRequest
7 голосов
/ 25 мая 2011

При попытке развернуть Maven-проект JAX-WS в 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]
...

Мой Pom-файл имеет следующую зависимость:

<dependency>  
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.1.4</version>
    <scope>provided</scope>
</dependency>

Я пытался поместить jar-файл в общий / lib, / lib или / lib / одобренный, но все равно получаю то же самое.
У многих людей были эти проблемы, и есть довольно определенный ответ, но я ничего не нашелпопытка сработала.

Обновление
Итак, я попытался вместо этого поместить 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.

Ответы [ 2 ]

13 голосов
/ 26 мая 2011

Ну, это было смешно.

Я добавил все jar-файлы из загрузки JAXWS-rt (http://jax -ws.java.net / 2.2.1 /) и скопировал все jar-файлы из каталога / lib в JBOSS_HOME /серверы / по умолчанию / lib.

Хорошо сработало после этого.До сих пор не могу поверить, что я так долго терял это.

Ну, теперь все хорошо.

0 голосов
/ 09 июля 2019

Ваша зависимость POM должна работать, просто удалите:

<scope>provided</scope>

Если вы определите ее как область действия, это означает, что ваш сервер будет предоставлять файлы jar, что не относится к Tomcat.

...