tomcat启动服务后,解析xml等文件会报错org.xml.sax.SAXNotRecognizedException: SAX feature 'http://apache.org/xml/features/allow-java-encodings' not recognized.
项目资源无法加载,具体发现此问题是在读取环境中的文件时,会报错如下内容
javax.xml.transform.TransformerConfigurationException: no protocol:/usr/local/tomcat-9.0.65/webapps/aa/WEB-INF/classes/xml/tepm.xsl
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:992)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:766)
......
可以通过添加配置TOMCAT_HOME/conf/catalina.properties
:
javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl javax.xml.datatype.DatatypeFactory=com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
解决问题。 使用此属性,您可以告诉 tomcat 和底层 JVM 它应该使用哪些与 XML 相关的工厂。这些工厂随每个 jdk 一起发布,但大多数 JDK 配置为使用其他工厂。
标签:xml,java,sun,internal,apache,org,com From: https://www.cnblogs.com/ladyM/p/java.html