前言:
MyEclipse整合ssh框架,间歇性Tomcat启动发生java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener异常,而且在前几次运行正常的情况下,出现这个异常。
工具:
MyEclipse2015 2.0版本,struts2.1,spring4.1.0,hebernate4.0.4
异常信息:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4650)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5166)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1096)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1756)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
解决方案:
1.点击工程下Spring 4.1.0 Libraries---->spring-web-4.1.0.RELEASE.jar---->org.springframework.web.context查看是否存在ContextLoaderListener.class类。如果缺少jar包,需自行导入。
2.查看web.xml文件配置是否正确。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
以上两步无误,还是出现该异常,进行第三部。
3.进入tomcat的webapp目录,清空里面部署的项目,再重新加载工程,启动tomcat。
重复第三步两三次,还是出现该异常,可初步判断MyEclipse出现BUG。
4.重启MyEclipse。