出于安全考虑,我要添加以下语句:
transformerFactory.setFeature("http://javax.xml.XMLConstants/property/accessExternalDTD", false);但是,我在日志文件中得到了以下错误:
2014年11月25日09:35:48.802严厉的http-nio-8080-exec-14 CIMObject.CIMObjectCollectDataHANA.setRunningXML TransformerConfigurationException setRunningXMLHANA: javax.xml.transform.TransformerConfigurationException:无法在TransformerFactory上设置“http://javax.xml.XMLConstants/property/accessExternalDTD”功能。
有人经历了同样的错误,并能够修复它?
发布于 2015-03-12 22:17:34
问题似乎是在com/sun/org/apache/xalan/internal/utils/FeatureManager.java中没有定义这样的特性。
如果您使用的是java 8,那么只需调用:
transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
这是因为在com/sun/org/apache/xalan/internal/xsltctrax/TransformerFactoryImpl.java
if (value && XalanConstants.IS_JDK8_OR_ABOVE) {
_xmlSecurityPropertyMgr.setValue(
Property.ACCESS_EXTERNAL_DTD,
State.FSP,
XalanConstants.EXTERNAL_ACCESS_DEFAULT_FSP
); // ACCESS_EXTERNAL_DTD is disabled by setting to the default value
}https://stackoverflow.com/questions/27128578
复制相似问题