'Can not initiliaze logback sax parser in jsp project

Can not initiliaze logback sax parser in jsp project. logback.xml configuration file "logback.xml" is correct syntax.

but, i got an error about external-general-entities. (Here is an application callstack.)

ch.qos.logback.core.joran.spi.JoranException: Parser configuration error occurred
at ch.qos.logback.core.joran.event.SaxEventRecorder.buildSaxParser(SaxEventRecorder.java:95)
at ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(SaxEventRecorder.java:61)
at ch.qos.logback.core.joran.GenericConfigurator.populateSaxEventRecorder(GenericConfigurator.java:174)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:154)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:121)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:64)
at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:68)
at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:139)
at ch.qos.logback.classic.spi.LogbackServiceProvider.initializeLoggerContext(LogbackServiceProvider.java:50)
at ch.qos.logback.classic.spi.LogbackServiceProvider.initialize(LogbackServiceProvider.java:41)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:152)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:139)
at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:421)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:407)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:356)
at org.apache.jsp.live_jsp._jspService(live_jsp.java:138)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.xml.sax.SAXNotSupportedException: http://xml.org/sax/features/external-general-entities
at org.apache.xerces.framework.XMLParser.setExternalGeneralEntities(XMLParser.java:486)
at org.apache.xerces.framework.XMLParser.setFeature(XMLParser.java:1298)
at org.apache.xerces.parsers.SAXParser.setFeature(SAXParser.java:578)
at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java:150)
at org.apache.xerces.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:133)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:113)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:141)
at ch.qos.logback.core.joran.event.SaxEventRecorder.buildSaxParser(SaxEventRecorder.java:88)
... 43 more

13:27:41,502 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
13:27:41,503 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/D:/Tomcat/apache-tomcat-9.0.56/webapps/ROOT/WEB-INF/classes/logback.xml]
13:27:41,521 |-ERROR in ch.qos.logback.core.joran.event.SaxEventRecorder@38cf2f91 - Parser configuration error occurred org.xml.sax.SAXNotSupportedException: http://xml.org/sax/features/external-general-entities
at org.xml.sax.SAXNotSupportedException: http://xml.org/sax/features/external-general-entities
at at org.apache.xerces.framework.XMLParser.setExternalGeneralEntities(XMLParser.java:486)
at at org.apache.xerces.framework.XMLParser.setFeature(XMLParser.java:1298)
at at org.apache.xerces.parsers.SAXParser.setFeature(SAXParser.java:578)
at at org.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java:150)
at at org.apache.xerces.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:133)
at at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:113)
at at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:141)
at at ch.qos.logback.core.joran.event.SaxEventRecorder.buildSaxParser(SaxEventRecorder.java:88)
at at ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(SaxEventRecorder.java:61)
at at ch.qos.logback.core.joran.GenericConfigurator.populateSaxEventRecorder(GenericConfigurator.java:174)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:154)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:121)
at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:64)
at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:68)
at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:139)
at at ch.qos.logback.classic.spi.LogbackServiceProvider.initializeLoggerContext(LogbackServiceProvider.java:50)
at at ch.qos.logback.classic.spi.LogbackServiceProvider.initialize(LogbackServiceProvider.java:41)
at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:152)
at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:139)
at at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:421)
at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:407)
at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:356)
at at org.apache.jsp.live_jsp._jspService(live_jsp.java:138)
at at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
at at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
at at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
at at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
at at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
at at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
at at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732)
at at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at at java.lang.Thread.run(Thread.java:748)

As my environment below.

OS : Windows 10 64bit Tomcat : 9.0.5.6 Java : 1.8 Library : logback-core-1.2.10, logback-classic-1.2.10



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source