1. 程式人生 > >新安裝的eclipse匯入之前maven專案執行java.lang.ClassNotFoundException錯誤的解決

新安裝的eclipse匯入之前maven專案執行java.lang.ClassNotFoundException錯誤的解決

java.lang.ClassNotFoundException的解決方法

類找不到的原因會有很多,我就最近換了臺電腦後,重新安裝了eclipse等等等東西,然後匯入近原來電腦上執行好好的maven專案後,報出java.lang.ClassNotFoundException的錯誤,於是直奔解決方法:

解決方法:

1).右鍵點選專案–選擇Properties

選擇Deployment Assembly,在右邊點選Add按鈕,在彈出的視窗中選擇Java Build Path Entries。如下圖所示:
在這裡插入圖片描述

2).點選Next,選擇Maven Dependencies
在這裡插入圖片描述

3)點選Finish,然後可以看到已經把Maven Dependencies新增到Web應用結構中了
在這裡插入圖片描述

這個問題在於是沒有將maven工程的jar包釋出到部署的專案檔案中。進入到 tomcat的部署路徑.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\下檢查了一下,發現工程部署後在WEB-INF資料夾下沒有生成lib目錄,正常情況下,會生成lib目錄並把工程的所有依賴jar包都部署到該目錄下

其他原因:

1.首先在專案檔案中沒有新增相應的jar包,可以在maven dependencis資料夾中看是否有。如果沒有,在pom檔案新增依賴配置即可;如果有,還是出現問題轉第二步

2.在maven的本地倉庫中找到對應的jar包檔案,雙擊試圖開啟它,如果出現報錯說檔案已經損壞或者不完整(我猜測可能是以前maven下載的時候因為網路的原因中途斷掉沒有下載完成,

下次pom在maven倉庫引入本地jar包的時候不會再從官網下載,直接拿的是上次那個殘缺檔案,所以會出錯),解決辦法就是把這個jar包檔案刪除,重新update pom檔案,讓maven重新下載這個jar到本地倉庫。

如果發現本地倉庫的這個jar包開啟也不會報錯,那麼轉第三步。

3.最後的原因是沒有將maven工程的jar包釋出到部署的專案檔案中(即:一開始提到的原因,上面又解決方法)。進入到tomcat的部署路徑.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\下檢查了一下,發現工程部署後在WEB-INF資料夾下沒有生成lib目錄,正常情況下,會生成lib目錄並把工程的所有依賴jar包都部署到該目錄下。