2

私は SAX ベースの xml パーサーを使用しています。正常に動作していますが、ログに次の警告メッセージが表示されます。

com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl is Sun proprietary API and may be removed in a future release 
                            transformerFactory = new TransformerFactoryImpl(); 
                                                      ^ 

これを取り除きたいのですが、TransformerFactoryImpl の他のオプションを提案してもらえますか?

前もって感謝します、

4

1 に答える 1

4

代わりに TransformerFactory.newInstance() を使用できます。

javax.xml.transform.TransformerFactory tf =       
        javax.xml.transform.TransformerFactory.newInstance();

どの実装をロードするかを決定する方法はJavadocsで説明されています。

現在使用しているのとまったく同じ実装を舞台裏で行うように注意することが重要な場合は、TransformerFactory インスタンスを取得する前に、次のシステム プロパティを設定するだけです。エラーメッセージを取り除く限り、同じ実装を使用すると便利だと思います。

System.setProperty("javax.xml.transform.TransformerFactory",          
                   "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");
于 2012-07-18T17:45:59.283 に答える