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 回答