寻找 xalan TransformerFactoryImpl 的选项
Posted
技术标签:
【中文标题】寻找 xalan TransformerFactoryImpl 的选项【英文标题】:Looking options for xalan TransformerFactoryImpl 【发布时间】:2012-07-17 12:40:02 【问题描述】:我正在使用基于 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 的其他选项吗?
提前致谢,
【问题讨论】:
【参考方案1】:您可以使用 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");
【讨论】:
你好@Mikko,我最初尝试了 javax.xml.transform.TransformerFactory 但我遇到了以下异常。无法转换 javax.xml.transform.stax.StAXSource 类型的源:javax.xml.transform.TransformerException:无法在 org.apache 转换 javax.xml.transform.stax.StAXSource 类型的源.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:366)我错过了设置系统属性。谢谢您的帮助。非常感谢,钦梅帕塔克
以上是关于寻找 xalan TransformerFactoryImpl 的选项的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Android 上从 Xalan 调用 Java 扩展函数?
org.apache.xalan.processor.TransformerFactoryImpl 上的 AbstractMethodError
TransformerFactory 和 Xalan 依赖冲突