我希望能夠將我的項目拆分成Maven子模塊,並將它們重用爲其他項目的Maven依賴項。重用maven模塊作爲依賴關係
正如我從文檔瞭解,子模塊必須指定他們的父項目。這使得它們不適合作爲依賴關係重用。
這使得在模塊分裂遠沒有吸引力恕我直言。或者我錯過了什麼?
我傾向於在需要分享項目時拆分組件中的項目。否則,爲什麼要麻煩?
有人可以詳細說明嗎?
是否有可能聲明一個模塊沒有指定它的父級? 如何重構依賴項和所有依賴項目?
歡呼聲
我希望能夠將我的項目拆分成Maven子模塊,並將它們重用爲其他項目的Maven依賴項。重用maven模塊作爲依賴關係
正如我從文檔瞭解,子模塊必須指定他們的父項目。這使得它們不適合作爲依賴關係重用。
這使得在模塊分裂遠沒有吸引力恕我直言。或者我錯過了什麼?
我傾向於在需要分享項目時拆分組件中的項目。否則,爲什麼要麻煩?
有人可以詳細說明嗎?
是否有可能聲明一個模塊沒有指定它的父級? 如何重構依賴項和所有依賴項目?
歡呼聲
relativePath只是構建時的提示。一旦安裝了所有的模塊和父代,您可以將各個模塊稱爲其他項目中的依賴項。
據我所知, 子模塊必須指定他們的 父項目。這使得它們 不適合作爲 依賴項重用。
指定父項目不會使模塊不適合作爲依賴項。大多數模塊都有一個父pom,它定義了常見的依賴/插件和其他東西。例如,請參閱Spring依賴關係。
是否可以聲明模塊 沒有指定它的父項?
每個模塊都是一個單獨的maven項目。因此,它不需要父母。通常,在模塊的分層結構中,每個模塊都在folderand父pom位於模塊的父文件夾中。父pom通常構建所有模塊。
|
--- module 1
|
--- pom.xml
|
--- module 2
|
--- pom.xml
|
pom.xml <-- parent pom
在沒有父pom的情況下,您需要單獨構建每個模塊。
請參考this SO的討論。
父poms和pom項目是有用的,毫無疑問。但文檔說你必須在模塊中指定父代。所以如果你想重用,爲另一個項目說一個項目的服務器模塊,你怎麼做到的?
|
--- server
|
--- pom.xml
|
--- client
|
--- pom.xml
|
--- webapp
|
--- pom.xml
|
--- Pom project 1
|
<modules>
<module>../server
<module>../client
|
--- Pom project 2
|
<modules>
<module>../server
<module>../webapp
隨着上述例子中,根據該文檔,服務器項目應該指定POM項目1作爲父母,和POM項目2爲好。
在這種情況下,你如何處理模塊和依賴關係概念的混合?
父母poms和pom項目是有用的,毫無疑問。但文檔說你必須在模塊中指定父代。所以如果你想重複使用,爲另一個項目說一個項目的服務器模塊,你怎麼做到的? ' | ---服務器模塊 | --- pom.xml ---客戶端模塊 ' – nodje 2011-04-12 10:37:00
@nodje。查看彈簧模塊(彈簧芯或彈簧腹板)的POM文件。這些模塊可以在任何項目中使用,並且具有* parent *聲明。 – Raghuram 2011-04-12 10:46:48