![](/img/trans.png)
[英]org.springframework.web.context.ContextLoaderListener(java.lang.ClassNotFoundException)
[英]java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoadListener
我已經為這個問題苦苦掙扎了幾天(這就是為什么我提供GitHub鏈接)。 這是堆棧跟蹤:
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoadListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoadListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
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)
我僅指出,我使用Tomcat 7,並且從Eclipse中的“服務器”選項卡運行服務器。
我已經閱讀了互聯網上的所有內容。 提供的最常見的解決方案是:
“轉到項目屬性->部署程序集,單擊添加...,選擇Java構建路徑條目,然后將Maven依賴項添加到Web部署程序集。”
它對我不起作用,與到目前為止我看到的其他Internet解決方案一樣。 我沒有希望。
我正在提供指向我的項目的GitHub鏈接: https : //github.com/wiewioraseb/beer-blog-hiccup.git我已經嘗試將其導出到另一台計算機,但在另一台計算機上運行它時仍然遇到相同的錯誤。
引導Spring根上下文的正確偵聽器類是ContextLoaderListener,而不是ContextLoadListener! 因此在web.xml中應該是:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
鏈接顯示 :在部署環境中,只需確保您的服務器類路徑包含Spring jar庫(例如spring-2.5.6.jar)。
對於Spring3,將ContextLoaderListener移至spring-web.jar,您可以從Maven中央存儲庫獲取該庫。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.0.5.RELEASE</version> </dependency>
您確定您的構建路徑(在Eclipse中)實際上包括所有依賴項(在這種情況下,尤其是spring-web和spring-webmvc)? 如果使用mvn clean install
來構建* .war文件,並且將其解壓縮,則庫可能會包含在其中。
但是,這與Eclipse不同。 因此,我建議在目錄中運行mvn clean install eclipse:clean eclipse:eclipse
。 然后在Eclipse中刷新項目並進行清理(Project-> Clean)。
要查看庫是否已正確部署,請雙擊服務器,然后轉到此位置(在工作區文件夾中):
並檢查WEB-INF/lib
文件夾中的依賴項(* .jar文件)。
通常,這可以為我解決問題。 你應該:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.