1. 程式人生 > >java.lang.ClassNotFoundException的解決方法

java.lang.ClassNotFoundException的解決方法

app plugin -i ear date 應用 img upload 報錯

出現這個問題的原因可能很多,但是最終原因都是部署的項目文件中沒有這個類包。

那麽出錯的點在哪呢?逐一排除!

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包都部署到該目錄下。

解決方案:

1).右鍵點擊項目--選擇Properties

選擇Deployment Assembly,在右邊點擊Add按鈕,在彈出的窗口中選擇Java Build Path Entries。如下圖所示:

技術分享圖片

2).點擊Next,選擇Maven Dependencies

技術分享圖片

3)點擊Finish,然後可以看到已經把Maven Dependencies添加到Web應用結構中了

技術分享圖片

操作完後,重新部署工程,不再報錯了。然後我們再到.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\目錄下,發現工程WEB-INF目錄下自動生成了lib目錄,並且所有的依賴jar包也都已經部署進來。問題因此解決。

java.lang.ClassNotFoundException的解決方法