MMP的死结:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
彻底解决方法请移步新帖:
【HTTP Status 404】Tomcat报错The requested resource is not available.且控制台报错java.lang.ClassNotFoundExcept
但凡你能通过关键字搜索到我这个帖子,我就告诉你一件事情:
90%的情况下,你的代码是没有错的,因为我也曾和你一样, 百度拜读过其他帖子,诸如:
都说删除tomcat服务器,构建项目或者工程里clean(ctrl+b),但是我试了都没好使....
首先,我是spring+struts+hibernate框架整合,没有maven
其次,我的用户库构建路径没有问题
再次,我整了一天的代码,甚至把老师在他电脑完全运行正常的代码放在我这里也报错!!
在最后一次测试都失败,仍然
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1352) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:542) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:523) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4806) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5347) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1400) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
这个报错的时候,我已经彻底濒临崩溃的边缘(除了晚上订外卖的时候意外的35元减8元的优惠大红包惊喜了我一下),
然后按照我百度到的第一个帖子:
1.构建路径删除apache tomcat 服务器
2.工程页面删除服务器本地文件
3.首选项里删除服务器配置
4.关闭Eclipse,并用-clean重启Eclipse(这个操作是在你的Eclipse快捷方式里面,目标那里,原来假如是
D:\E\eclipse.exe,改成D:\E\eclipse.exe -clean)之后
第四步是最重要的!
5.重新配置apache服务器
6.重新运行index.jsp文件
这次竟然奇迹般的复活了!!!我QNMB.....我都不知道我应该是激动兴奋还是应该愤怒咆哮了.....
在此记录,这难忘的一次经历
就连老师都崩溃,找了这么久,还以为是jar包,或者applicationContext.xml的问题,结果还是缓存的问题.MMP!
就在刚才打算收拾电脑结束战斗之前,我又重新整理了一下项目,结果又发现问题依旧.这次找到了真正的元凶
jar包导入问题!
因为我平时构建路径build path习惯用用户库user library,所以这次整合我也把所有lib包放在了用户库里
然后工程右键添加用户库的构建路径
但是刚才测试了,构建路径如下:
这种情况下运行仍然是会报错的,原因我还不清楚,解决方法就是
1.将图中所有jar粘贴到WebContent/WEB-INF/lib文件夹下
2.构建路径添加web应用程序(默认这个新建项目就有的,用于动态管理WebContent/WEB-INF/lib这里面的jar包)
3.重构工程(ctrl+b)或者菜单栏project→clean
这样之后应该就可以运行了,但是为什么呢?我还没搞明白....有待解决