Struts1.3.5でActionServlet起動時にSAXNotRecognizedException
Struts起動時にエラーが発生。ActionServletが起動しない。
org.xml.sax.SAXNotRecognizedException: Feature: http://apache.org/xml/features/validation/dynamic at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:100) at com.bluecast.xml.JAXPSAXParserFactory.setFeature(JAXPSAXParserFactory.java:132) at org.apache.commons.digester.parser.XercesParser.configureXerces(XercesParser.java:185) at org.apache.commons.digester.parser.XercesParser.newSAXParser(XercesParser.java:138) at org.apache.commons.digester.ParserFeatureSetterFactory.newSAXParser(ParserFeatureSetterFactory.java:71) at org.apache.commons.digester.Digester.getParser(Digester.java:692) at org.apache.commons.digester.Digester.getXMLReader(Digester.java:899) at org.apache.commons.digester.Digester.parse(Digester.java:1647) at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:745) at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:686) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:353) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:274) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1716) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1693) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1613) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2764) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:889) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)2007/06/20 19:39:16.457 [ERROR] ***** Unable to initialize Struts ActionServlet due to an unexpected exception or error thrown, so marking the servlet as unavailable. Most likely, this is due to an incorrect or missing library dependency.java.lang.NullPointerException at org.apache.commons.digester.Digester.getXMLReader(Digester.java:899) at org.apache.commons.digester.Digester.parse(Digester.java:1647) at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:745) at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:686) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:353) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:274) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1716) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1693) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1613) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2764) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:889) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
原因
「http://d.hatena.ne.jp/Ochotona/20061018」にあった「http://ml.seasar.org/archives/seasar-user/2005-September/000722.html」を参考にすると、設定ファイルを読み込むときにStrutsが使っているDigesterは、xercesというXMLパーサがあるとそれを使ってしまい、このエラーが出ると考えられる(なんじゃそりゃ)。
s
Xercesは消せないのでどうしようか考え中。
I'm a software engineer who like travel to island in Japanese. Recently I am enjoying agile manager, coach, product owner for my work. The person grows like that.











