Eclipse部署Maven web項目到tomcat服務器時,沒有將lib下的jar複製過去的解決辦法

我們在做web開發是,經常都要在eclipse中搭建web服務器,並將開發中的web項目部署到web服務器進行調試,在此,我選擇的是tomcat服務器。之前部署web項目到tomcat進行啓動調試都很正常,今天突然出現無法啓動情況,啓動過程報如下錯誤:

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    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:133)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
    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$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

類找不到,該類依賴於spring-web-XXXX.jar,看了下maven依賴庫,該依賴是存在的,那是怎麼回事,然後再看tomcat目錄下的webapps中部署的項目,項目已經部署成功,相應的class文件和靜態文件都有了,但仔細一看,在WEB-INF下缺少了lib文件夾,才明白爲什麼找不到org.springframework.web.context.ContextLoaderListener類了。爲什麼在eclipse中啓動tomcat時沒有將lib拷貝過來,想想之前碰到了項目部署設置的問題。解決辦法如下:

右擊項目->properties->找到Deployment Assembly,右邊便是編譯打包的配置,看是不是缺少了lib庫的依賴,我的就是,點擊Add,添加maven依賴庫。最後列表如下


再重新啓動tomcat,啓動成功!!


轉載請註明鏈接:http://blog.csdn.net/yiwenjun2008/article/details/18728453

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章