2017-07-11 100 views
2

我有這樣的結構Maven的父項目自動化

  **** child C 

父(A)


  **** child B 

如果我嘗試沒有家長來安裝兒童B,行家拋出我的錯誤,按照慣例我知道我應該將父母安裝在我的存儲庫中,但有什麼辦法讓別人拉孩子,並且在安裝過程中安裝P沒有自動?


@edit 我要去嘗試,更清晰,我有依賴於項目A項目B(項目A是父,相同項目B)我希望能夠建立在項目B中,不需要在我的'Local'(m2> repository)存儲庫中存在A,我想從B中安裝A,這樣一個開發人員就可以在B之前不必手動安裝A

+0

這個我不清楚。引用子進程會自動下載父進程,如果它在repository_中可用。 –

+0

你的「結構」看起來相當鬆散。 ;)你的意思是「_someone_」和「_pull_」是SCM術語,而不是Maven術語。 –

+0

我會盡量做得更清楚,我有一個項目B,依賴於項目A(項目A是父項,與項目B中的相同)我希望能夠在項目B中構建而不需要存在在我的'Local'(m2> repository)Repository中,我想從B中安裝A,這樣一個開發人員在B上就不必手動安裝A了。 –

回答

2

長話短說:號(不是直接的,至少)

不能從另外一個運行項目的構建(但來自aggregator/multi-module項目或使用Maven Invoker Plugin或Groovy或Ant腳本等。但在當時你執行你的情況,後者依賴解析本來已經完成的一個,並會失敗)

你可以做的另一種方式圓得像:

+- aggregator 
    +- pom.xml: <packaging>pom, <module>parent (A), <module>child B 
    | 
    +- parent (A) 
    | +- pom.xml 
    | 
    +- child B 
    | +- pom.xml: <parent>parent (A), <relativePath>../parent (A), <dependency>parent (A) 
    | 
    +- child C 
     +- pom.xml: <parent>parent (A), <relativePath>../parent (A) 

建築物aggregator依次構建parent (A)child B,因爲Maven反應堆識別child Bparent (A)的依賴關係。

+0

對不起,我對maven還很年輕,但你的回覆很壯觀,非常感謝! –

+0

@JeffSilva請參閱[本答案](https://stackoverflow.com/a/30953905/1744774)瞭解幾個基本概念以及指向好參考書籍的鏈接。 –