#java #jboss #jax-ws #m2eclipse #jboss6.x
#java #jboss #jax-ws #m2eclipse #jboss6.x
Вопрос:
Я получаю следующую ошибку при попытке развернуть JAX-WS Maven-project в 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 / одобренный, но все равно получил то же самое.
У многих людей были эти проблемы, и есть довольно определенный ответ, но ничего из того, что я нашел и попробовал, не сработало.
Обновить
Итак, я попытался поместить библиотеку в 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.
Ответ №1:
Ну, это было смешно.
Я добавил все jar-файлы из загрузки JAXWS-rt (http://jax-ws.java.net/2.2.1 /) и скопировал все jar-файлы из каталога /lib в JBOSS_HOME/servers/default/lib.
После этого все работало хорошо. Все еще не могу поверить, что я так долго копался в этом.
Что ж, теперь все хорошо.
Комментарии:
1. Любой пост, содержащий фразу «dry humped», заслуживает полезного голосования.
2. Работает и в Tomcat в каталоге lib
Ответ №2:
У меня была похожая проблема. Мой POM содержал
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.2</version>
<type>pom</type>
</dependency>
и я получал com.sun.xml.ws.transport.http.servlet.WSServletContextListener
класс, который не найден.
Я удалил <type>pom</type>
, и сервер запустился без ошибок. Веб-служба также функционирует корректно.
Ответ №3:
Ваша зависимость от POM должна работать, просто удалите:
<scope>provided</scope>
Если вы определяете это как область видимости, это означает, что ваш сервер будет предоставлять jar-файлы, чего нельзя сказать о Tomcat.