为了学习JavaWeb开发,做了一个测试的工程,里面包含了Struts2,编译、发布一切都很正常,后来为了学习Hibernate,向工程中导入了Hibernate的包,编译没错,当再次发布的时候,出现了一大堆的严重错误:
严重: Exception starting filter struts2
Unable to load configuration. - [unknown location]
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
……
百度了很多资料,最后终于解决:
引起错误的原因是MyEclipse Hibernate类库中的两个包(xml-apis.jar和xerces-2.6.2.jar)和JDK发生了冲突所致,在工程发布之前要去掉这两个包。
【解决步骤】:
1、把“MyEclipse Hibernate 3.2 Core Lib”从BuildPath去掉(“Remove from Build Path”);
2、到发布后的目录复制全部的jar文件到开发工具下项目的WEB-INF\lib目录下,不要复制其中的xml-apis.jar和xerces-2.6.2.jar;
3、把新加入的jar包“Add to Build Path”;
4、停止Tomcat,删除Tomcat的webapp目录下的本工程目录,然后重新发布工程,一切OK!