このコードを使用して取得していますXMLStreamWriter:
javax.xml.stream.XMLOutputFactory
.newInstance()
.createXMLStreamWriter( outputStream )
最近、システムに の jar ファイルを含める必要がありましたjaxws。その後、XmlStreamWriter実装は からcom.sun.xml.internal.stream.writers.XMLStreamWriterImplに変更されましたcom.ctc.wstx.sw.SimpleNsStreamWriter。このクラスは、Java 内部実装とは異なる出力を生成します。
com.sun.xml.internal.stream.XMLOutputFactoryImpl明示的に使用してコードをJava 6にバインドせずに、Javaに内部実装を使用させるにはどうすればよいですか? Java 7 は別XMLStreamWriterの を使用しており、私のコードも Java 7 で実行したいと考えています。
私はこれを試しました:
XMLOutputFactory.newFactory(
"com.sun.xml.internal.stream.XMLOutputFactoryImpl",
getClass().getClassLoader()
);
これはOracle JDK 6で動作しますが、JDK 7では
javax.xml.stream.FactoryConfigurationError:
Provider for com.sun.xml.internal.stream.XMLOutputFactoryImpl cannot be found