一切福田,不離方寸,從心而覓,感無不通。

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderList

最近在用idea部署war文件的时候,总是出现了部署失败的错误,刚开始并没有在意,但是现在次数越来越多了,不得不在意了,然后就在百度上搜,然后就有了各种说法

1,错误的信息是:

根据错误信息,说是一个listener加载失败了,失败原因请看容器log文件,我的idea配置的tomcat是自己的本地的tomcat,然后进本地的目录一瞅,木有,那么这个日志放在哪里了?然后就开始找这个日志文件在哪里。开始百度。。。

经历过种种百度,然后最后得出的结果是在这里

好了,第一步完成,找到了日志文件,那么日志文件里面的错误信息是什么呢?首先,有下面几个日志信息

根据时间来看,那就看catalina和localhost这两个吧,最后在locaohost的log文件里找到了这样的一句话:

意思就是说contextloaderlistener这个class没有加载成功,说是配置的问题,然后继续百度,有一下几种情况

1,listener的配置要放在servlet前面,我看我的配置文件,的确是这样的,

2,就是tomcat缓存问题,把project的tomcat去掉后重新部署上去,我试了试,不行

3,说是没有spring的包,我想着一会好,一会不好的,如果真的是spring包的话,那应该就一直不好,所以排除了,(结果这里出现问题了)

4,重新安装tomcat,这个方法我没有试,不知道效果如何

突然,在论坛里看有人说看看你的tomcat服务器里的项目的web-info\lib下有没有这个包,然后我一查,果然没有spring的包。好的,这里问题算是找到了。就是因为这个没有包才导致的。

这个就提醒我了,不管项目上是不是加载了依赖包,如果部署到服务器上没有依赖的那个包,那就是白搭,肯定会出问题的。

最终我的web-inf\lib里面的目录结果如下

然后开启debug,成功。

 

上面五种方法起个参考作用,主要是第五种,用事实来说话。我的项目是idea分模块的,具体的怎样加到Lib里可以百度。

 

解决问题的过程是令人痛苦的,解决后感觉原来是这样啊。

from:http://www.cnblogs.com/ningheshutong/p/6490167.html