マーティンFouks:
私は、PDFへのxmlファイルを変換するjavax.xml.transform.Transformを使用しています。これは、独自に罰金を動作しますが、プロジェクトの一部は、独自のTransformerFactoryを実装したXalanを、使用している、そしてそこに何かがキリル文字では動作しません。
私がで発見したhttps://xml.apache.org/xalan-j/usagepatterns.htmlに使用するファクトリを定義するために使用されるプロパティがあること:
TransformerFactoryのははjavax.xml.transform.TransformerFactoryシステムプロパティによって指定された具体的なサブクラスをインスタンス静的のnewInstance()メソッドと抽象クラスです。
このシステムプロパティのデフォルト設定はorg.apache.xalan.processor.TransformerFactoryImplです。
私の質問は:私はXalanのを使用しないように、このプロパティを設定するにはどうすればよいですか?
ロビーCornelissen:
いずれかを使用して、あなたのプログラムを実行するコマンドラインから静的に設定する-D
フラグ:
java -Dorg.apache.xalan.processor.TransformerFactoryImpl=com.xyz.YourFactory YourApp
または動的にアプリケーション内から、使用しましたSystem.setProperty()
:
System.setProperty("org.apache.xalan.processor.TransformerFactoryImpl",
"com.xyz.YourFactory");
あなたはファクトリクラスの完全修飾クラス名を使用し、工場は仕事にこれらのいずれかのためにあなたのクラスパス上にある必要があることをする必要があることに注意してください。