標籤:需要 cat 項目 Servle 執行個體 res 解決方案 成功 patch
最近在學習springMVC,做helloworld執行個體的時候運行伺服器一直報:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet錯誤,我百度了該類位於spring-webmvc.jar包下,經過檢查我確信我添加了該包進入項目。
百度了 大量的解決方案,最終我嘗試了包所需要的jar包放到lib包下,然後refresh了一下項目,就可以成功通過編譯,就解決了這個問題。
思考:平時我都是build path JAR包,這個操作以後,jar包都在()下,我查看了下,Lib包下是空空如也的,但是為什麼我把JAR包放在Lib包就可以了呢?
原因:referenced librarier下面的包jar包是為了讓你能通過編譯,如果在該包下沒有spring等jar包,項目中寫到相應的函數時候,就不會提示和補全,自然也就不會通過編譯了。而Lib包中的jar檔案時被tomcat等伺服器載入的,在運行動態網頁項目的時候,伺服器載入此包下的jar檔案,所以會報java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet的根本原因是在Lib中找不到相應的JAR檔案,載入不到檔案。
總結:在編輯項目的時候,eclipse載入referenced libraries下的JAR檔案來通過編譯
在運行伺服器的時候,需要載入lib包下的JAR檔案來運行項目,也就是說編譯和運行時候為項目載入的JAR檔案路徑不一樣。
令新手頭痛的java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet錯誤