在金蝶Apusic 5.1下部署门户和oa系统,发现同时部署始终有一个会出现500错误,无法访问,而另外一个则正常。个深层错误原因如下:
2009-06-13 10:38:33 警告 [apusic.web.qjoa./qjoa] 无法转载过滤器 'Struts2'。
javax.servlet.ServletException: Caught exception while loading file struts-default.xml - [unknown location]
at com.apusic.web.container.WebComponent.create(Unknown Source)
at com.apusic.web.container.WebComponent.getComponent(Unknown Source)
at com.apusic.web.container.WebComponent.init(Unknown Source)
at com.apusic.web.container.WebContainer.loadFilter(Unknown Source)
at com.apusic.web.container.WebContainer.loadFilters(Unknown Source)
at com.apusic.web.container.WebContainer.start(Unknown Source)
at com.apusic.web.http.VirtualHost.addContext(Unknown Source)
at com.apusic.web.http.HttpServer.loadWebModule(Unknown Source)
at com.apusic.web.WebService.loadWebModule(Unknown Source)
at com.apusic.deploy.runtime.WebModule.load(Unknown Source)
at com.apusic.deploy.runtime.J2EEApplication.loadModules(Unknown Source)
at com.apusic.deploy.runtime.J2EEApplication.startApplication(Unknown Source)
at com.apusic.deploy.runtime.J2EEApplication.startService(Unknown Source)
at com.apusic.service.Service.start(Unknown Source)
at com.apusic.deploy.runtime.J2EEDeployer.startUserApplications(Unknown Source)
at com.apusic.deploy.runtime.J2EEDeployer.startService(Unknown Source)
at com.apusic.service.Service.start(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.apusic.jmx.MBeanDescriptor.invoke(Unknown Source)
at com.apusic.jmx.DynamicMBeanSupport.invoke(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at com.apusic.server.J2EEServer.start(Unknown Source)
at com.apusic.server.J2EEServer.startup(Unknown Source)
at com.apusic.server.Main.main(Unknown Source)
Caused by: Caught exception while loading file struts-default.xml - [unknown location]
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:839)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
at com.apusic.web.container.FilterComponent.initializeComponent(Unknown Source)
at com.apusic.web.container.FilterComponent.initializeComponent(Unknown Source)
... 27 more
Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:69)
at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(TransletOutputHandlerFactory.java:187)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.setResult(TransformerHandlerImpl.java:137)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setup(DomHelper.java:213)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:198)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:189)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:175)
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830)
... 36 more
2009-06-13 10:38:33 信息 [apusic.web.qjoa./qjoa] Context Root [/qjoa]
初一看,还让人以为是无法加载stuts2的默认配置文件struts-default.xml的问题。但是单独均部署成功的测试让我打消了这方面的疑虑。看来应该是个conflict了。
问题的真正原因在这里:
Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
at org.apache.xerces.parsers.DOMParser
正是由于这里的冲突,导致无法加载解析struts2的xml文件。最终定为在xerces.jar 冲突的原因。查看了两个project,确实均有xerces.jar 包,任意删除一个项目中的一个,只要两个project不同时存在xerces.jar ,发布成功。
联想到不久前在tomcat下同时部署碰到的同样问题。原因肯定也在这里了。只是当时并没有深究。
参考自国外的同样问题讨论,详见:
http://www.nabble.com/org.apache.xerces.parsers.XML11Configuration-cannot-be-cast-to-org.apache.xerces.xni.parser.XMLParserConfiguration-td14108368.html
分享到:
相关推荐
比如,错误信息中提到的`java.lang.NoSuchMethodError`,表示类路径中存在两个版本的`javax.servlet.ServletContext`类,并且Spring Boot应用试图调用一个不存在的方法。 此外,Spring Boot的某些自动配置在部署到...
在集成OA和EAS系统的情况下,可能需要管理两个数据源,分别对应OA和EAS。因此,数据源配置文件中会有两个不同的数据源定义,需要根据实际情况调整数据库服务器的IP、实例名、用户名和密码。 总的来说,手动部署...
根据功能,Java应用服务器主要分为两大类:Web应用服务器和JavaEE应用服务器。Web应用服务器主要用于托管Servlet和JSP,而JavaEE应用服务器则提供了更全面的服务,包括EJB(Enterprise JavaBeans)支持、JMS(Java ...
Java开发和运行环境中,JRE(Java Runtime Environment)与JDK(Java Development Kit)是两个至关重要的组件。它们之间的主要区别在于用途和包含的内容。 JRE是Java运行环境,它是运行Java应用程序所必需的。它...
3. 安装中间件(如Tomcat或Apusic),配置相应端口和应用路径。 4. 安装金蝶OA服务器端软件,根据向导设置相关参数。 5. 在客户端计算机上安装金蝶OA客户端,连接到服务器。 ### 6. 创建数据库 数据库创建包括创建...
- **多Web服务器兼容性**:兼容IIS、Tomcat、WebSphere、WebLogic、JBoss、GlassFish、Apusic等常见Web服务器。 - **跨浏览器支持**:确保在IE、Firefox、Chrome等多种浏览器上正常运行。 - **富客户端技术支持**:...
同时,至少需要两个逻辑单元(LUN),分别用于生产数据库和临时数据库(TempDB)。 - **网络**:推荐使用100Mbps的网络连接速度,与中间层服务器之间的连接则建议采用1000Mbps。此外,还需满足的延迟和的丢包率。 #...
- GeoServer是一个符合J2EE规范的开源GIS服务器,支持WCS、WMS和WFS等多种标准,同时还支持Transaction WFS (WFS-T)。其技术核心集成了GeoTools Java GIS Toolkit,支持多种空间数据存储方式,包括ESRI Shapefile、...