JBoss 6 に Java EE 6 JAX-RS Web サービスをデプロイしていますが、現在使用されている SAX/StAX パーサーの代わりにWoodstoxを使用したいと考えています。一部のスタック トレースには、(他のパッケージの中でも) クラスがリストされているため、次のようになります。
org.apache.xerces.parsers
org.apache.xerces.impl
org.apache.xerces.jaxp
... Xercesを使用していると思います。
必要な JAR (woodstox-core-asl-4.1.1.jar
およびstax2-api-3.1.1.jar
) を EAR (ディレクトリにデプロイ/lib
) と WAR ( ) に追加しようとしましWEB-INF/lib
たが、XML 解析の例外からのスタック トレースが Xerces パッケージを参照しているため、これは何の影響もないようです。
私はすでにこの質問を読みましたが、上記のように「クラスパスに追加する」オプションをすでに試したと思います。また、このスレッドに従って、次の VM 引数を追加しようとしました。
-Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory
-Djavax.xml.stream.XMLOutputFactory=com.ctc.wstx.stax.WstxOutputFactory
-Djavax.xml.stream.XMLEventFactory=com.ctc.wstx.stax.WstxEventFactory
-Dcom.sun.xml.ws.api.streaming.XMLStreamReaderFactory.woodstox=true
-Dcom.sun.xml.ws.api.streaming.XMLStreamWriterFactory.woodstox=true
私は何を間違っていますか?(私が思うに) Xerces の代わりに JAXB に Woodstox を使用させるにはどうすればよいですか?