2012-07-23 61 views
3

我們有一個多模塊Maven項目,由一個父POM和5個或更多模塊組成。如何激活多模塊項目中特定模塊的Maven Profile

如果我們激活自定義的「自動部署」配置文件,每個模塊都可以部署到正在運行的服務器,這是在每個模塊中明確定義的,因爲每個部署的/模塊。當從父POM構建時,如果激活「自動部署」配置文件,Maven將最終部署所有模塊,這幾乎不是我們需要做的事情(基於我們的開發流程等)。但我們希望從根開始構建,因爲可能會在多個模塊中進行更改,並且某些模塊之間存在依賴關係。

從父POM構建時,是否有辦法爲模塊中的一個模塊激活我們的自定義「自動部署」配置文件,但不是全部?

感謝

回答

4

如果每個模塊都有它自己的「自動部署」配置文件和配置文件的激活將被傳遞給mvn命令變量被觸發,你將能夠父模塊上運行單一MVN命令並決定哪些模塊應該簡單地通過聲明激活變量

<profiles> 
    <profile> 
     <id>profileId</id> 
     <activation> 
      <property> 
       <name>profileIdEnabled</name> 
       <value>true</value> 
      </property> 
     </activation> 
     <properties></properties> 
    </profile> 
</profiles> 

然後

mvn -DprofileIdEnabled=true 
3

退房01部署。

從Maven 2.1版本開始,有一些新的Maven命令行選項允許您操作Maven構建multimodule項目的方式。這些新的選項是:

-rf,--resume-從

Resume reactor from specified project 

-pl,--projects

Build specified reactor projects instead of all projects 

-am, - 兼-MAKE

If project list is specified, also build projects required by the list 

-AMD, - 兼 - 化妝家屬

If project list is specified, also build projects that depend on projects on the list 

要建立從根目錄僅模塊B:

$ MVN --projects模塊-B安裝

+2

如果我想構建所有項目,但只是自動部署其中一個項目,該怎麼辦?或者在我的情況下,跳過除了一個之外的所有測試,並仍然構建它們? – 2015-01-12 22:52:31