1. 程式人生 > >Maven專案在Eclipse中的匯入錯誤分析以及解決

Maven專案在Eclipse中的匯入錯誤分析以及解決

引言: Maven專案是非常常見和高效的專案組織形式,但是在我們日常專案中,尤其在匯入其他人專案的過程中,經常碰到若干基於Pom.xml的報錯,本文將針對這個錯誤來做若干分析。

1. 問題的提出

    最近需要匯入某個專案進入Eclipse,分析其原始碼;在匯入Eclipse之後,發現其存在若干pom.xml中無法正確解析的問題, 具體錯誤如下:

   

  基於上述的錯誤, 在Eclipse中發現的錯誤如下:

  •     專案程式碼沒有正確解析為Maven的專案結構
  •     在開啟pom.xml之時,報了一個錯誤,具體的錯誤資訊如下:
 Failure to transfer org.apache.maven.plugins:maven-site-plugin:pom:3.0-beta-3 from https://repo.maven.apache.org/maven2
 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed
 or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-site-plugin:pom:3.0-beta-3 
from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org
2. 問題分析

   表面上這個是2個錯誤,但是本質上就是由於pom.xml中的錯誤導致了專案無法正確解析。 所以我們著重來分析pom.xml中的錯誤:

   基於字面的分析,發現其是無法被正確的讀取,那大概率的問題,應該是其已經下載到Maven的Repository之中,但是無法被正確的讀取出來。

3. 問題解決

     開啟Maven的Repository,找到maven-site-plugins所在的目錄位置, 由於其存在問題,則直接刪除其版本

     

    然後切入到命令列,直接執行如下操作:

    >>>   mvn clean

    >>>  mvn compile

    在其執行過程中,會發現上面所刪除的plugin會被重新下載,然後執行成功。

    基於Eclipse,可以刪除該專案,然後重新匯入。或者直接close,並重新開啟,maven的專案都是可以正確解析出來的。

4.  問題總結

     maven由於其專案是自動管理所有的依賴包,且是從遠端下載下來的。故一個經常出現的問題是下載不完整;從檔案系統的角度來看,是完整的,但是實質上是不完整的。故處理的辦法是直接刪除,重新編譯,讓其重新下載,即可解決類似的問題。

     上述是一個通用的解決方法,可以適用於各類的無法解析錯誤。希望這個辦法可以幫助到大家。

    最後讓我們來看一樣正確的maven專案結構: