我是两个Struts2 项目   【OA】一个是Sturts2.1.6+Spring+Hibernate  
【jsonTest】另一个是Struts2.3.4.1+Hibernate两个项目在tomcat上单独运行都可以   但是当两个项目同时在tomcat上发布运行时 报错
以下是报错代码:
2012-11-29 12:24:15 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Java\jdk1.6.0_04\bin;D:\Java Program Files\Tomcat 6.0\bin
2012-11-29 12:24:15 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8082
2012-11-29 12:24:15 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 275 ms
2012-11-29 12:24:15 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-11-29 12:24:15 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.18
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
2012-11-29 12:24:17 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2012-11-29 12:24:18 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - [unknown location]
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:213)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Caught exception while loading file struts-default.xml - [unknown location]
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:879)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:161)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:130)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:155)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 30 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:212)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:197)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:188)
at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:174)
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:114)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:870)
... 34 more
2012-11-29 12:24:18 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2012-11-29 12:24:18 org.apache.catalina.core.StandardContext start
严重: Context [/OA] startup failed due to previous errors
2012-11-29 12:24:18 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2012-11-29 12:24:18 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8082
2012-11-29 12:24:18 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-11-29 12:24:18 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/32  config=null
2012-11-29 12:24:18 org.apache.catalina.startup.Catalina start
信息: Server startup in 3458 ms

解决方案 »

  1.   

    移除项目目录中的xerces.jar 
    there was a conflict between tomcat's internal XML parser and the xerces I was using inside my project. 
      

  2.   

    解析xml的包产生冲突导致.
    看项目中有没有xerces.jar 这个包,删除之.
      

  3.   

    运行一个项目的时候再tomcat下把另一个的给删掉。
    tomcat运行时是加载所有的。
      

  4.   

    楼主你是怎么发布这些Web应用的?尤其是jar包是怎么引入的?是否在各自的 WEB-INF\lib默认情况下,Web应用之间的jar包是不会相互影响的,因为其均使用各自独立的ClassLoader。
      

  5.   


    所有操作我都是通过myeclipse进行的  而且相关JAR包我都删除过   但是没用啊  
      

  6.   


    对MyEclipse十分不熟悉,所以没法给你进一步的建议。我建议你尝试手工发布,不依赖MyEclipse试试看。
      

  7.   

    打开tomcat安装目录下的webapps文件夹,除docs,examples,host-manager,manager,ROOT外,全部删除,clean下这两个项目,重新发布,应该没有问题了。
      

  8.   

    我最近也遇到这个问题了,后来查了一下:将一个项目的xerces.jar移除就可以了,或者是把两个项目当中的xerces.jar都移除,然后将xerces.jar加入到tomcat的lib下面,重启一下就可以了。但是不知道为什么会出现这种情况,tomcat对每一个war都有独立的类加载器,怎么会出现两个项目jar冲突的问题呢?