2013-03-12 55 views
4

我有一個花園多種Maven項目。它有幾個模塊。因此,根目錄pom.xml以宏偉的Maven方式充當父級和聚合器。如何獲取maven-site-plugin來解析我的multimodule Maven項目的父pom.xml?

該項目建立並安裝正常。從企業pom.xml像這樣的節

pom.xml繼承:

<parent> 
    <groupId>foo</groupId> 
    <artifactId>bar</artifactId> 
    <version>16</version> <!-- look, Ma, no SNAPSHOT --> 
</parent> 

當我運行mvn site針對這根pom.xmlmaven-site-plugin 3.2版報告它無法解析父。

父母當然存在於我的本地存儲庫和我本地的Nexus中。生命週期的其他階段沒有任何麻煩解決父母。

其他人有reported這個問題。還有another StackOverflow question on this subject,但它的問題與我的完全一樣,並不是很明顯。

<relativePath/>添加到<parent>節以上(我的第一個想法)並未以任何方式改變行爲。

我怎樣才能得到maven-site-plugin來解決父母pom.xml

+1

看來,這是一個公知的和未解決的問題: http://jira.codehaus.org/browse/MSITE-640。簡而言之,即使你在別處定義了倉庫,「maven-site-plugin」也只能由於某種原因從中心下載文件,所以你需要設置建立一個鏡像,以便包括中心在內的所有內容都可以通過某個Nexus框,或者需要在本地回購庫中破解有問題的_maven.repositories文件以刪除存儲庫名稱。 – 2013-03-12 17:08:03

回答

8

這是Maven網站插件中的bug。由於各種原因,Maven網站插件只會在它認爲是Maven中心的地方尋找依賴關係。

因此,你要麼必須:

  1. 有一個<mirror>元素通過自己的Nexus服務器代理中心。
  2. 在您的本地Maven存儲庫中,找到父項pom工件區域。編輯它的_maven.repositories文件,以便任何提及存儲庫名稱本身都被替換爲空字符串。

我選擇了後面的選項。在這之後,構建運行良好。

+1

re:'' - 具體而言,您擁有把它設置爲你的'公共'組它可以解決一切。 : - / – 2014-02-24 16:01:09

1

顯然降級到3.3的網站插件也可以工作。 :-(

0
  • 文件名是_remote.repositories(Maven的3.1.1)談到的行數以及工作
  • 相關問題