java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener java.lang.Cl

來源:互聯網
上載者:User

標籤:contextloaderlistene   classnotfoundexcepti   contextconfiglocatio   classloader   

今天在進行了項目的整合的時候使用的是maven工具,當我的項目整合成功以後啟動web容器發現了報了下面的異常:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.util.WebAppRootListener


在我的項目當中我也確實配置了下面的資訊:

<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.web.util.WebAppRootListener</listener-class></listener>

開始以為是我的classpath的路徑配置出了問題,但是發現我的配置也沒有問題,和我項目中的目錄相符合:

<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>

找不到“ org.springframework.web.context.ContextLoaderListener”這個類,ContextLoaderListener這個類是在spring-web.jar包下,我仔細檢查了項目jar環境,發現該jar包確實存在,而且也能找到編譯後的ContextLoaderListener.class檔案。

開始還不知為什麼,到後來在網上找了寫資料終於找到瞭解決的方法和緣由:

Java虛擬機器是根據Java ClassLoader(類載入器)決定如何載入Class。系統預設提供了3個ClassLoader  Root ClassLoader,ClassPath Loader,Ext ClassLoader我們也可以編寫自己的ClassLoader,去載入特定環境下的Jar檔案。  能不能載入Jar,載入哪裡的Jar,是由ClassLoader決定的。  樓主的問題可能是 匯入的僅僅是jar包的引用,例如在eclipse中通過build path加進user lib……(類似捷徑)這種在Java Application中沒問題,但在web Application中可能會出現找不到類的異常。在WEB Application中jar包最好放在webroot或webcontent下的lib檔案夾內,特別是xml中用到的jar包。

因為我是通過eclipse的build path直接引用的jar包,沒有把jar檔案拷貝到lib目錄下。

隨後我將所需的jar包全部拷貝到WEB-INF/lib下,再重新啟動tomcat便能順利通過了。


注意:不能再build path了,因為maven會自動的引入jar,假如再添加進去了就會有jar的衝突問題。



  1. spring-web 的jar包沒導進去

  2. jar包郵衝突,把重複的jar包刪除

  3. 在web.xml加上<context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext-*.xml</param-value>
            </context-param>

因為預設的讀取的是/WEB-INF下的設定檔,如果設定檔在src中要把路徑改為類路徑底下

4.把工程重新整理一下,因為工程是部署在伺服器底下的,要把加入的jar包部署到工程裡。






java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener java.lang.Cl

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.