我最近在Maven項(xiàng)目領(lǐng)域?qū)W到了越來越多的東西,我想用它來實(shí)現(xiàn)一個(gè)我想解決一段時(shí)間的想法。這個(gè)問題是關(guān)于如何使用我將使用的結(jié)構(gòu)有效地構(gòu)建一個(gè)Maven項(xiàng)目。
我對(duì)結(jié)構(gòu)的看法如下:
- MyProject
|
|_Frontend
| |
| |_Window
| | |_pom.xml
| |...
| |_pom.xml
|
|_Backend
| |
| |_Database
| | |_pom.xml
| |...
| |_pom.xml
|
|_pom.xml
其中MyProject
將是Frontend
和Backend
的父對(duì)象。對(duì)于所有包裝,將設(shè)置為pom
。最后Frontend
和Backend
中包含代碼的項(xiàng)目,例如Window
項(xiàng)目和Database
項(xiàng)目(實(shí)際上,Frontend
和Backend
中當(dāng)然不止一個(gè)項(xiàng)目,這只是為了可視化)。來自Frontend
的項(xiàng)目可能依賴于來自Backend
的項(xiàng)目。
我會(huì)將Frontend
和Backend
設(shè)置為MyProject
父POM中的<module>
s,將Frontend
中的所有項(xiàng)目設(shè)置為Frontend
POM中的<module>
s,對(duì)Backend
的處理相同。然后我會(huì)在Frontend
的POM的<dependencyManagement>
元素中為Backend
項(xiàng)目添加<dependencies>
,這樣我就可以分別在Frontend
項(xiàng)目中添加所需的依賴項(xiàng)(在本例中,Main將位于Window
項(xiàng)目中)
所以我的問題是:如何構(gòu)建它,使其可以用作程序?
我對(duì)Maven比較陌生,所以我不太熟悉整個(gè)構(gòu)建理念。我得到了它的好處,因此我想使用它,但我不知道如何在這樣的項(xiàng)目中實(shí)現(xiàn)我想要的。我在網(wǎng)上搜索答案,但我可能措辭太差了,因?yàn)槲艺也坏轿倚枰拇鸢浮R虼耍绻幸黄恼禄蛞粋€(gè)答案,適用于這里,也可以鏈接它,但如果這里有人愿意花時(shí)間給我一個(gè)更深入的解釋這個(gè)具體問題,我不會(huì)抱怨。
謝謝你的回答。
你想到的結(jié)構(gòu)看起來是合理的。我正在為您的圖表添加一些詳細(xì)信息:
只是為了澄清,關(guān)于
MyProject
將是父級(jí)[…]包裝將設(shè)置為pom
”,請(qǐng)參閱POM參考,繼承v。加總和這個(gè)答案:因此,
<packaging>pom
不是必需的,因?yàn)?code>MyProject是父級(jí),但因?yàn)樗蔷酆掀鳌J聦?shí)上,父項(xiàng)目對(duì)其子項(xiàng)目一無所知。只有子項(xiàng)目聲明<parent>...
。