java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet


今天朋友發了個maven項目給我看,問我為什么啟動不了。說實話,一直用Jfinal都快不會用spring了… 還是決定看看。

接收了文件,是maven構建的,打開eclipse,導入maven項目,然后部署到tomcat,啟動tomcat,就報錯了:“java.lang.ClassNotFoundException: org.springframework.web. servlet.DispatcherServlet”,錯誤信息如下圖:
這里寫圖片描述
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

很明顯的第一反應就是沒有SpringMVC的包,於是檢查pom.xml,發現沒有問題,spring web mvc包是正確引入了的,查看Maven Dependencies,發現也是正常的,打開jar包,也沒有問題,web.xml配置也沒有問題…

我去,難道jar包版本問題,於是部署了更高版本的jar包,並且還試過配置更高的JDK版本,依然報錯,不能啟動…

於是google,發現大部分人都是說沒有導入jar包,沒有部署成功,可是jar包我導入了,也配置正確了。

就在這時,突然看到有個人說tomcat是否部署成功,於是立刻查看網站部署的文件夾,發現WEB-INF下根本沒有lib文件夾…

原因找到了,但是為什么沒有正確的部署呢,突然想到有個叫“Deployment Assembly”的配置,馬上打開項目屬性,找到該欄配置,果不其然,Maven Dependencies果然沒有配置到WEB-INF/lib下,於是立刻配置,如下步驟:

在項目上右鍵properties(應該是最后一項),打開如下界面

Add -> Java Build Path Entries -> Next -> Maven Dependencies -> Finish -> Ok,配置完后如下圖:


這里寫圖片描述

完成后再次啟動tomcat,Perfect,就搞定了!
本文轉載自: Maven構建SpringMVC環境報錯“java.lang.ClassNotFoundException: org.springframework.web.servlet. DispatcherSe

PS:的確是這樣的,因為對比正常項目之后就會發現,的確是少了那一項


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM