GirlsBoy
回首向来萧瑟处,归去,也无风雨也无晴。

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 配置为使用其他工厂。

 
posted on 2022-11-01 17:35  GirlsBoy  阅读(243)  评论(0编辑  收藏  举报

java\web应用开发&研究

梦想程序改变生活

成为一个了不起的人