我試圖啓動一個使用OC4J版本10.1.3.5的Struts 1.X(版本1.3.10)應用程序。應用程序設法初始化所有Spring bean,包括在action-servlet.xml中定義的Struts動作。但是,一旦所有的bean都被初始化,我會在日誌中看到一個相當醜陋的例外。Struts 1.3.10 Digester.getParser()UnsupportedOperationException
我懷疑xalan(2.7.1),xercesImpl(2.9.1)或xml-apis(1.3.04)有問題,但所有這些都使用最新版本。異常表示依賴項可能會丟失,但我無法確定它可能是什麼。
任何幫助表示讚賞。 (注意:目前我無法更新到Struts 2.X,該應用程序是一個可能會被替換的傳統應用程序)。
Digester.getParser: 08:18:10,794 ERROR Digester(789)
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
at javax.xml.parsers.SAXParserFactory.setXIncludeAware(SAXParserFactory.java:390)
at org.apache.commons.digester.Digester.getFactory(Digester.java:534)
at org.apache.commons.digester.Digester.getParser(Digester.java:786)
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java:1785)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:349)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2528)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:5006)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4930)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:5118)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1283)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:848)
at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:435)
at com.evermind.server.Application.getHttpApplication(Application.java:592)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:2280)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:2199)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:701)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:308)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:280)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:180)
at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2541)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1058)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
at java.lang.Thread.run(Thread.java:595)
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. 08:18:10,802 ERROR ActionServlet(398)
java.lang.NullPointerException
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java:1785)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:349)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2528)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:5006)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4930)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:5118)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1283)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:848)
at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:435)
at com.evermind.server.Application.getHttpApplication(Application.java:592)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:2280)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:2199)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:701)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:308)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:280)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:180)
at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2541)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1058)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
at java.lang.Thread.run(Thread.java:595)
Digester.getParser: 08:18:20,228 ERROR Digester(789)
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
at javax.xml.parsers.SAXParserFactory.setXIncludeAware(SAXParserFactory.java:390)
at org.apache.commons.digester.Digester.getFactory(Digester.java:534)
at org.apache.commons.digester.Digester.getParser(Digester.java:786)
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java:1785)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:349)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2528)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:5006)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4930)
at com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:3139)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:775)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:226)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:127)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:116)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
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. 08:18:20,231 ERROR ActionServlet(398)
java.lang.NullPointerException
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java:1785)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:349)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2528)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:5006)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4930)
at com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:3139)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:775)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:226)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:127)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:116)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
是的,這是我的老一套,但自從轉換到Weblogic後,我遇到了同樣的問題。基本上,首先要嘗試的是將xml-apis設置爲在pom.xml中提供了 。 –
Jason