NoClassDeFoundError WSServletContextListener und XMLStreamBuffer
Bin ich immer den folgenden Fehler beim Versuch zum bereitstellen eines JAX-WS Maven-Projekt zu 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]
...
Meine Pom-Datei hat die folgende Abhängigkeit:
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.1.4</version>
<scope>provided</scope>
</dependency>
Ich versucht, indem Sie die jar-Datei in common/lib, /lib oder /lib/endorsed aber immer noch der gleiche.
Eine Menge Leute hatte diese Probleme und es gibt schon einige Antworten, aber nichts habe ich gefunden und versuchte gearbeitet.
Update
So, ich versucht, indem Sie die lib WEB-INF/lib statt. Und das nimmt dem vorherigen Fehler. Es wird jedoch ein neuer Fehler wird nun angezeigt. Hier ist der stack trace:
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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, das war lächerlich.
Fügte ich alle jar-Dateien aus dem JAXWS-rt herunterladen (http://jax-ws.java.net/2.2.1/) und kopiert alle jar-Dateien in das /lib-Katalog in JBOSS_HOME/Server/default/lib.
Arbeitete gut nach, dass. Kann immer noch nicht glauben, dass ich trocken lecken und Finger dieses so lange.
Gut, alles gut jetzt.
Ihre POM Abhängigkeit funktionieren sollte, entfernen Sie einfach:
Wenn Sie es definieren als scope, es bedeutet, dass Ihr server bieten die Gläser, die, dies ist nicht der Fall für Tomcat.