Für weitere Forscher wollte ich meine zusätzlichen Schritte teilen, wie man alle alten JAXB und CXF von JBoss 6.1 entfernt und neue Versionen hinzufügt (es ist die verbesserte Antwort von Yves Martin):
Zu entfernen:
common/deploy/jbossws-console.war
server//deploy/jbossws-console-activator-jboss-beans.xml
server//deployers/jbossws.deployer/
server//deployers/jbossws-jaxrpc.deployer/
client/cxf-*.jar
client/jaxws-*.jar
client/jaxb-impl.jar
client/jaxb-xjc.jar
client/wstx-lgpl.jar
client/jbossws-*.jar
client/stax-api.jar
client/activation.jar
lib/wstx-lgpl.jar
lib/jaxb-impl.jar
lib/jaxb-xjc.jar
common/lib/jboss-jaxb-api_2.2_spec.jar
common/lib/jboss-jaxws-api_2.2_spec.jar
common/lib/jboss-jaxrpc-api_1.1_spec.jar
common/lib/cxf-*.jar
common/lib/jaxws-*.jar
common/lib/jbossws-*.jar (außer common/lib/jbossws-spi.jar)
lib/endorsed/activation.jar
lib/endorsed/jboss-jaxb-api_2.2_spec.jar
lib/endorsed/jbossws-cxf-factories.jar
lib/endorsed/jboss-jaxws-api_2.2_spec.jar
lib/endorsed/stax-api.jar
Aus der Konfigurationsdatei unter: server//deployers/switchboard-jboss-beans.xml
folgende Zeilen entfernen:
javax.xml.ws.WebServiceContext
Wenn Sie JAXB + CXF auf 2.6.3 aktualisieren möchten, fügen Sie diese Bibliotheken hinzu:
lib/jaxb-xjc-2.1.13.jar
lib/endorsed/activation-1.1.1.jar
lib/endorsed/jaxb-api-2.2.6.jar
lib/endorsed/jaxws-api-2.2.6.jar
lib/endorsed/stax2-api-3.1.1.jar
lib/endorsed/saaj-api-1.3.4.jar
lib/endorsed/cxf-api-2.6.3.jar
common/lib/cxf-api-2.6.3.jar
Wenn Sie ein Java 6 Projekt haben, wird das neue JAXB mit dem aus JRE kollidieren, daher müssen wir die neue Version unterstützen. Hier finden Sie, wie es mit Maven gemacht wird:
org.apache.maven.plugins
maven-compiler-plugin
${maven-compiler-plugin.version}
1.6
1.6
512m
${project.build.directory}/endorsed
org.apache.maven.plugins
maven-surefire-plugin
${maven-surefire-plugin.version}
once
-Djava.endorsed.dirs=${project.build.directory}/endorsed
org.apache.maven.plugins
maven-dependency-plugin
${maven-compiler-plugin.version}
generate-sources
copy
javax.xml.bind
jaxb-api
${jax.version}
javax.xml.ws
jaxws-api
${jax.version}
${project.build.directory}/endorsed
org.apache.cxf
cxf-codegen-plugin
${cxf.version}
once
-Djava.endorsed.dirs=${project.build.directory}/endorsed
com.sun.xml.bind
jaxb-impl
${jax.version}
com.sun.xml.bind
jaxb-xjc
${jax.version}
In Ihrem IDE müssen Sie ihm sagen, dass es mit den neuen JAXB-Bibliotheken kompilieren soll. Im Fall von IDEA können Sie dies hier tun:
IDEA -> Einstellungen -> Compiler -> Java Compiler
in "Zusätzliche Befehlszeilenparameter" hinzufügen:
-endorseddirs //target/endorsed/