2012-09-17 90 views
0

我正在構建一個多模塊項目。項目結構喜歡:如何解決使用動態版本的依賴項的父POM

-Build 
     -Local 
     -POM.xml (Master) 

-Main Project 
    -Module A 

-Libs Project 
    -Libs Project A 

的利布斯項目A的POM從它的動態版本是父母的POM

<parent> 
    <groupId>com.myproject</groupId> 
    <artifactId>libs</artifactId> 
    <version>${release.version}</version> 
    </parent> 
    <!-- this POM --> 
    <groupId>com.myproject.libs</groupId> 
    <artifactId>http</artifactId> 
    <packaging>bundle</packaging> 
    <version>1.0.0</version> 

當我運行Maven構建和傳遞版本參數,以打造「模塊A」 ,maven找不到libs項目的POM。

原因:無法找到父:com.myproject:庫項目: com.myproject.libs:HTTP:包:1.0.0項目 com.myproject.libs:HTTP:包:1.0.0

回答

2

現在停止

有許多的POM XPath中的位置,其中產權置換是永遠不會以任何方式,是可用來工作的。

  • /project/parent/groupId
  • /project/parent/artifactId
  • /project/parent/version
  • /project/groupId
  • /project/artifactId
  • /project/version
  • /project/packaging

其原因是反應堆構建必須是確定性的。

當您嘗試使用性能在這些地方會出現工作,換句話說,Maven會不會馬上拍你過足了....但是當你嘗試做任何事情上進一步Maven會親切地拍你腳離開。

也許我們應該改變Maven最初的腳步......也許這會阻止人們認爲在這些元素中進行屬性擴展的支持。

相關問題