亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Maven模塊+構建單個特定模塊

Maven模塊+構建單個特定模塊

HUWWW 2019-08-29 08:26:35
Maven模塊+構建單個特定模塊我有一個父項目多模塊Maven項目P和三個子模塊A,B和C。這兩個B和C是戰項目,都依賴于A。我可以輸入mvn compile在P和擁有所有的子模塊正確的編譯的。當我想為特定模塊執行操作時,問題就來了。我希望能夠為項目打包一個war B,但是當我從B目錄運行package命令時,它會抱怨它找不到依賴項A。我從這個問題中理解:Maven和依賴模塊可能Maven并不是真的設計用于這種類型的依賴解析,但這引出了如何打包的問題B?mvn package我真的想要的時候是否必須運行整個項目層次結構B?每次要打包時,是否必須將A的快照安裝到本地存儲庫中B?當A仍處于活躍開發階段時,第二種情況并不是很有趣。這里有什么最佳做法?
查看完整描述

3 回答

?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

這里有什么最佳做法?

使用Maven 高級反應器選項,更具體地說:

-pl, --projects        Build specified reactor projects instead of all projects-am, --also-make        If project list is specified, also build projects required by the list

所以只需cd進入父P目錄并運行:

mvn install -pl B -am

這將構建B和B所需的模塊。

請注意,如果引用的artifactId內容與目錄名稱不同,則需要使用冒號:

mvn install -pl :B -am


查看完整回答
反對 回復 2019-08-29
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

Maven絕對是為這種類型的依賴而設計的。

mvn package 將不會在您的本地存儲庫中安裝任何內容,它只是打包項目并將其保留在目標文件夾中。

不要mvn install在父項目(A),這一切的子模塊將被安裝在您的計算機的Maven倉庫,如果沒有改變,你只需要編譯/包的子模塊(B)和Maven將已經打包和安裝的依賴項恰到好處。

mvn install如果您更新了部分代碼,則只需在父項目中使用a 。


查看完整回答
反對 回復 2019-08-29
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

如果您之前在項目B 上運行過mvn install,它將已安裝到您的本地存儲庫,因此在構建程序包時,Maven可以解析依賴項。因此,只要您在每次更改時安裝項目B,項目A的構建都將是最新的。

您可以使用聚合器pom定義多模塊項目以構建一組項目。

值得一提的是m2eclipse,它將Maven集成到Eclipse中,并允許您(可選)解決工作空間中的依賴關系。因此,如果您正在攻擊多個項目,則工作區內容將用于編譯。一旦您對更改感到滿意,請運行mvn install(依次在每個項目上,或使用聚合器)將它們放在本地存儲庫中。


查看完整回答
反對 回復 2019-08-29
  • 3 回答
  • 0 關注
  • 870 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號