2015-06-24 30 views
0

我需要對maven dependency插件進行更改以滿足組織中的獨特需求。編譯maven-dependency-plugin時出現「無法讀取構件描述符」:

我從http://maven.apache.org/plugins/maven-dependency-plugin/download.cgi

下載源代碼當我看它的POM,我看到它定義了這樣的父POM:

<parent> 
    <artifactId>maven-plugins</artifactId> 
    <groupId>org.apache.maven.plugins</groupId> 
    <version>27</version> 
    <relativePath>../maven-plugins/pom.xml</relativePath> 
    </parent> 

這導致我的理解,這個項目不能獨立建造,至少不是我擁有的版本。

當試圖運行反正我收到以下錯誤MVN全新安裝:

Couldn't download artifact: Failed to read artifact descriptor for org.apache.maven:maven-model:jar:2.0.9

有趣的是,它實際上並不在我的本地庫的.m2存在。

如果我想對Maven插件做出貢獻或更改,我必須擁有整個環境還是有獨立構建它的方法是真的嗎?

我正在使用maven 3.0.4和Nexus。

+0

父母也在maven中心。所以我想它應該工作,一旦你只是刪除relativePath行(或者可能嘗試一個空的? – wemu

+1

@wemu,你的建議工作!甚至沒有想到刪除relativePath屬性:-)請張貼您的評論作爲回答。 – Vitaliy

回答

1

父POM的更新可以在Maven的中央被發現。

所以它應該足以簡單地從<parent>中刪除<relativePath>語句。有時候,一個空的<relativePath />也有助於告訴maven從存儲庫中解析pom,而不是通過項目中的相對路徑來找到它。

如果父代不在Maven倉庫中,您可以將它放在那裏 - 或者您需要在更高級別上籤出版本控制項目,以便路徑實際上匹配本地結構。

0

當我嘗試構建指定插件時,我沒有遇到任何問題。

你所得到的錯誤是相對於Maven的模型插件,如果它存在於你的目錄的.m2,你應該:

  1. 檢查,如果在你的settings.xml指定的倉庫是你個人的.m2目錄/ repository目錄
  2. 如果是,就清理你的Maven緩存,並迫使你的快照
+0

我的settings.xml中的存儲庫指向一個Nexus。 – Vitaliy

相關問題