今天朋友發了個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:的確是這樣的,因為對比正常項目之后就會發現,的確是少了那一項
