如果你有反應器POM(與<modules>
元件的聚甲醛,和<packaging>
定義爲pom
),則模塊將被建在依賴性順序。無論在pom中指定模塊的順序如何,此順序都會發生。
有幾個方法可以解決這個:
選項1個
你的反應堆POM並不需要是相同的pom作爲父POM。所以,你可以有:
project/pom.xml # Reactor pom with <modules> element
project/parent/pom.xml # Parent pom
project/module-a/pom.xml # Some module 'a'
project/module-b/pom.xml # Some module 'b'
在這種情況下,反應堆POM包含:
<modules>
<module>parent</module>
<module>module-a</module>
<module>module-b</module>
</modules>
在頂層運行mvn install
將建立你的父POM,並按照相關性順序的兩個模塊。
選項2
移動你的父POM一個目錄,並把它作爲既是父POM和反應器POM,讓你的項目看起來像這樣
project/pom.xml # Parent/Reactor pom with <modules> element
project/module-a/pom.xml # Some module 'a'
project/module-b/pom.xml # Some module 'b'
中的模塊部分它看起來像這樣
<modules>
<module>module-a</module>
<module>module-b</module>
</modules>
同樣,在頂層運行mvn install
將建立你的父POM ,以及依賴順序的兩個模塊。
選項3
留下你的父POM它在哪裏,並添加一個模塊部分:
<modules>
<module>../module-a</module>
<module>../module-b</module>
</modules>
在這種情況下,MVN運行安裝-f父/ pom.xml中將建父pom,以及依賴順序的兩個模塊。
結論
我通常使用選項2.這是最Maven中自身使用的模式,我會盡量避免誤入從「因循守舊」,這被廣泛理解和測試太遠。請參閱Guide to Working with Multiple Modules。
爲什麼你沒有在父pom中指定模塊?請在您的父母郵件中指定,並且所有內容都將按順序排列 –
如果這是唯一方法,請繼續並將此評論移至答案框。 –