在javaweb開發時候爲了快速構建和測試項目常常用到maven+jetty插件運行項目,可是有時候會碰見一個很奇怪的問題。在jetty中運行良好的項目,放在tomcat中就不能跑。這裏是放在eclipse的tomcat中,不是打包放在tomcat中跑。其實錯誤的打包方法也會致使出現這個問題。它通常報的錯誤是:java
嚴重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488) at ...
通過多番搜索查詢獲得的解決方案以下:
實際上是你的jar文件沒有同步發佈到本身項目的lib目錄中(若是你是用Maven進行構建的話) 能夠試試 下面的辦法 項目點擊右鍵 點擊 Properties 選擇Deployment Assembly 再點擊右邊的Add按鈕 選擇Java Build Path Entries後點擊Next按鈕 而後選擇你的Maven Dependencies 肯定便可。以下圖所示:
web
項目就能正確的在tomcat中運行起來了。spring