java - Tomcat服务器升级后项目出现异常

标签 java tomcat

我们正在尝试将我们的 Tomcat 版本从 7.0.73 升级到更新的版本。在任何更高版本上,除了我们的“DBPrism Servlet 引擎”外,一切都运行良好。它部署没有任何问题,但是在运行测试时它在 C-Prompt 中抛出以下异常:

14-Sep-2017 13:00:36.074 SEVERE [http-nio-8080-exec-3] 
org.apache.tomcat.util.digester.Digester.getParser Digester.getParser:
    org.xml.sax.SAXNotRecognizedException: SAX feature 'http://apache.org/xml/features/allow-java-encodings' not recognized.
    at oracle.xml.parser.v2.NonValidatingParser.setFeature(NonValidatingParser.java:1696)
    at oracle.xml.parser.v2.SAXParser.setFeature(SAXParser.java:266)
    at oracle.xml.jaxp.JXSAXParserFactory.newSAXParser(JXSAXParserFactory.java:88)
    at org.apache.tomcat.util.digester.Digester.getParser(Digester.java:599)
    at org.apache.tomcat.util.digester.Digester.getXMLReader(Digester.java:771)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1441)
    at org.apache.catalina.authenticator.jaspic.PersistentProviderRegistrations.loadProviders(PersistentProviderRegistrations.java:84)
    at org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl.loadPersistentRegistrations(AuthConfigFactoryImpl.java:329)
    at org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl.<init>(AuthConfigFactoryImpl.java:69)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:76)
    at javax.security.auth.message.config.AuthConfigFactory$1.run(AuthConfigFactory.java:66)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.message.config.AuthConfigFactory.getFactory(AuthConfigFactory.java:65)
    at org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider(AuthenticatorBase.java:1199)
    at org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1192)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:466)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1374)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

我已经查看了来自不同站点的多个帖子,但无济于事, 任何帮助将不胜感激

当前设置:带有最新 JDK 的 Windows 10 - 1.8_144

最佳答案

这里提出的解决方案对我有用:java.lang.SecurityException: org.xml.sax.SAXNotRecognizedException: Feature: http://apache.org/xml/features/allow-java-encodings

关闭 Tomcat 服务器。 使用文本编辑器打开 catalina.properties 文件。它通常位于/install-path-to-tomcat/conf/中。在继续之前制作此文件的副本。 在文件的最顶部添加以下属性:

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 进行配置更改,我仍在寻找如何从我尝试部署的 Web 应用程序中修复此问题。

关于java - Tomcat服务器升级后项目出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46217653/

相关文章:

java - 访问SAP云平台上的Java Servlet

java - 在 iText 7 的 html2pdf 中显示货币符号的简单方法

tomcat - 集群不起作用

java - Tomcat 404 错误与 Spring Hibernate JSF 编译

java - 单向扩展 JTextPane

java - 注意 gwt 应用程序中的每次点击

Java 8 支持 Jersey 框架

java - 我的 .jsp AJAX 调用从我的 Servlet Controller 返回代码而不是执行它

java.net.SocketException : Connection Reset

java - 更改 JSP servlet (Jasper) 的类加载器