2010-08-05 90 views
0

的情況下如何在兩個多模塊Maven項目的以下情形和B.如何編譯單個模塊中的兩個多模塊Maven項目

兩個項目都位於編譯一個模塊在同一目錄,這樣的目錄結構如下所示:

root 
|-- A 
| |-- A1 
| |-- A2 
| `-- A3 
`-- B 
    |-- B1 
    `-- B2 

除了根的所有目錄都有自己的pom.xml文件和每個子模塊被引用其父模塊(A1具有父A等)和父級引用其子模塊(A具有模塊A1-A3)。我遇到的問題是,A1也取決於B1,因爲項目B是我希望在其他項目中使用的實用程序的集合。

我的問題是我如何引用B1正確這樣我就可以建立A1 無需安裝B1第一。我的意思是我想用一個maven命令來構建A1的所有依賴關係。

我目前的解決方案是讓B1成爲A模塊(通過模塊參考../B/B1)。然後我可以從目錄A呼叫mvn package,它工作正常。但是構建整個項目A有時非常耗時。因此,我只想建立A1 +階段。我怎樣才能做到這一點?當我打電話mvn reactor:make -Dmake.folders=A1從目錄中的我得到下面的生成錯誤:

Reason: Cannot find parent: B:B for project: B:B1:jar:1.0-SNAPSHOT for project B:B1:jar:1.0-SNAPSHOT 

如此看來,行家突然找不到B1的父模塊使用了反應器插件的時候。有沒有人知道一個解決方案,或者從另一個項目中引用子模塊的另一種方法,允許以上述方式構建A1?

請注意,我不想在包含模塊A和B的根目錄中建立一個超級模塊,因爲這個pom文件,因爲檢查出A和B的每個用戶可能在其根目錄中還有其他項目,並且因此將不得不編寫他自己的根文件夾。

+0

也許這個[question](http://stackoverflow.com/questions/1114026/maven-modules-building-a-single-specific-module)很有幫助。 – Jan 2011-11-22 08:45:34

回答

0

簡單創建一個根模塊,其中包含模塊,並引用A和B中的父模塊,然後工作。否則它不起作用。

+0

那麼,如上所述,這是我想避免的,因爲我不允許檢查根目錄中的pom文件到我們的svn中。原因是有幾個不同的人正在研究部分不同的項目。因此,對於每個工友來說,根目錄看起來不同,因此pom文件將包含不同的模塊。所以這個解決方案不是最理想的,因爲每個人都必須在他的根目錄下維護他自己的pom文件。 – 2010-08-05 15:20:13

相關問題