我有一個多模塊maven項目。它有5個模塊,其中2個是Web項目。父POM和maven目標只爲戰爭項目
我想定製我的插件只在戰爭項目中運行。我的意思是在父母級別,我想觸發我的目標,只有我的戰爭項目會受到影響。有沒有辦法呢?
由於這個原因,我不會在我的戰爭項目pom中有重複的配置。
感謝
我有一個多模塊maven項目。它有5個模塊,其中2個是Web項目。父POM和maven目標只爲戰爭項目
我想定製我的插件只在戰爭項目中運行。我的意思是在父母級別,我想觸發我的目標,只有我的戰爭項目會受到影響。有沒有辦法呢?
由於這個原因,我不會在我的戰爭項目pom中有重複的配置。
感謝
你可以建立一個戰爭父POM(其中你的戰爭項目繼承)和一般父POM(其中每個人都在繼承)。
general parent
/ \ \
war parent \ \
/\ \ \
war1 war2 other1 other2
對於建築,你可能有一個單獨的生成pom,具有上述所有模塊。
HTH
我面臨同樣的問題多次,我來,最好的方案是這樣的結論:
cool-master
|-+ parents
| |- cool-parent
| |- cool-parent-web
|
|- module1
|- module2
|- module3
|- module-web1
|- module-web2
在上述例子中有三種類型的模塊:
父POM-S(cool-parent
,cool-parent-web
)
非web APS(延伸cool-parent
)
web應用(延伸cool-parent-web
)
在父母可以定義設置,這是特異性針對不同類型的模塊。例如在cool-parent
中定義非webapp相關的東西,在cool-parent-web
中可以有所有的花式東西,如maven-war-plugin
,jetty-maven-plugin
等。我通常有cool-parent-web
擴展cool-parent
以避免重複依賴關係,插件設置和等等
在cool-parent-web
定義一個<pluginManagement/>
部分,併爲你的插件設置所有的東西,然後在你的web模塊中使用它們。
+1如果您需要爲所有WAR模塊*跨項目*擁有父POM,那麼您註定要失敗。配置文件可能有一些技巧,但它不能像繼承一樣多。 –