在使用eclipse進行整合springmvc時經常會碰到這樣的異常: java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

這時裡的意思是說找不到jar包,如果使用的是maven管理jar包,會發現jar包明明已經有了,但還是報錯;如果mvn package生成一個war包釋出到tomcat下面會發現,其實專案是沒問題的。

1.出現這個問題的原因有可能的其中一點就是spring的jar包沒有被載入,有的時候沒有拷spring的jar包會出現這個錯誤,但是當你拷了以後這個錯誤並沒有消失的時候就說明jar包沒有被載入,切記spring的jar包一定要放在工程的lib下這樣才能避免這個錯誤的發生。

2.使用了重複的類庫,且版本不一致。導致低版本的被優先使用。比如今天遇到一種情況在tomcat伺服器使用了axis2.war包,當啟動tomcat的時候,axis2.war包會自動解壓,之後再該專案包裡有相關的spring包,所以當有另外一個工程要到spring時,就有可能要到axis2的spring包,如果版本不一致就會導致該問題,解決的方法就是讓該專案不受axis2專案包的影響。

3.如果不是上面兩種原因,那麼可以試一下下面的解決方案:

參考自:http://stackoverflow.com/questions/6322711/tomcat-spring-web-class-not-found-exception-org-springframework-web-context

Add..

再重新啟動專案即可。