专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » myeclipsestruts:MyEclipse 6开发JDK6和Struts 2冲突的问题真实原因及解决办法 »正文

myeclipsestruts:MyEclipse 6开发JDK6和Struts 2冲突的问题真实原因及解决办法

来源: 发布时间:星期四, 2009年1月8日 浏览:11次 评论:0
  出错信息: Illegal access: this web application instance has been stopped already. Could not load org.xml.sax.SAXException. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

  java.lang.IllegalStateException

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1244)

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)

  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

  at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.DocumentBuilder(Unknown Source)

  at com.sun.org.apache.xalan.ernal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:69)

  at com.sun.org.apache.xalan.ernal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(TransletOutputHandlerFactory.java:187)

  at com.sun.org.apache.xalan.ernal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392)

  at com.sun.org.apache.xalan.ernal.xsltc.trax.TransformerHandlerImpl.Result(TransformerHandlerImpl.java:137)

  at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.up(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)

  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 org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)

  at org.apache.catalina.core.ApplicationFilterConfig.FilterDef(ApplicationFilterConfig.java:397)

  at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

  at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3696)

  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)

  at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3086)

  at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:912)

  at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:523)

  at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:113)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

  at org.apache.catalina.core.ApplicationFilterChain.ernalDoFilter(ApplicationFilterChain.java:290)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

  at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)

  at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)

  at org.apache.tomcat.util.net.AprEndpo$Worker.run(AprEndpo.java:1508)

  at java.lang.Thread.run(Thread.java:619)

  2008-9-19 0:08:34 org.apache.catalina.core.StandardContext filterStart

  严重: Exception starting filter struts2

  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 org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)

  at org.apache.catalina.core.ApplicationFilterConfig.FilterDef(ApplicationFilterConfig.java:397)

  at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

  at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3696)

  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)

  at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3086)

  at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:912)

  at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:523)

  at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:113)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

  at org.apache.catalina.core.ApplicationFilterChain.ernalDoFilter(ApplicationFilterChain.java:290)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

  at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)

  at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)

  at org.apache.tomcat.util.net.AprEndpo$Worker.run(AprEndpo.java:1508)

  at java.lang.Thread.run(Thread.java:619)

  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.DocumentBuilder(Unknown Source)

  at com.sun.org.apache.xalan.ernal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:69)

  at com.sun.org.apache.xalan.ernal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(TransletOutputHandlerFactory.java:187)

  at com.sun.org.apache.xalan.ernal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392)

  at com.sun.org.apache.xalan.ernal.xsltc.trax.TransformerHandlerImpl.Result(TransformerHandlerImpl.java:137)

  at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.up(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)

  ... 31 more

  2008-9-19 0:08:34 org.apache.catalina.core.StandardContext start

  现象: 第次能运行, reload就不行. 启动不行.

  解决思路: 排除法.

  先试了Struts2自带blank包, 没问题.

  那基本可断定是其他jar包有冲突, 应该是XML解析包有冲突.

  检查发布后WEB-INF/lib有两个XML解析包: xml-apis.jar和xerces-2.6.2.jar

  这种真正原因不是JDK 6和Struts 2冲突, 而是 MyEclipse Hibernate 类库中多了两个包: xml-apis.jar和xerces-2.6.2.jar, 这两个包功能和JDK冲突了. 解决办法: 1. 删除发布后目录 WEB-INF/lib/ 下这两个文件; 2. 或者使用JDK 1.5来启动Tomcat 6.

  方案1详细操作步骤:

  a. 先把MyEclipse Hibernate 3.2 Core Lib从BuildPath去掉;





  b. 不要重新发布应用, 从发布后目录复制全部jar文件到开发工具下项目WEB-INFlib目录下, 不要复制其中xml-apis.jar和xerces-2.6.2.jar.

  c. 停止Tomcat, 重新发布应用或者删除发布后目录下WEB-INFlib下xml-apis.jar和xerces-2.6.2.jar.

  小提示: MyEclipse 自带类库有很多问题, 建议读者自行下载官方网站WebSitejar包进行开发, 比较保险.



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: