2013-07-13 134 views
0

我有一個多模塊項目,最後生成的模塊是應用程序的發行版zip。Maven發佈插件:如何在發佈版本上只部署發行版:執行

core/ 
plugins/ 
plugins/logger 
plugins/social 
... 
assemble/ 

我想以Maven工件的形式分發應用程序。我不想用它部署模塊工件。

release插件需要從根目錄中運行(我想要做的所有常見的東西,如更新版本,標記,提交這些更改等)

什麼是告訴釋放插件的方式,也工件要部署?

請注意,這不同於僅限制部署插件,因爲發佈插件似乎以某種內部方式調用部署插件。 (不太確定。)

回答

0

似乎發佈插件的行爲已修復,現在正確調用deploy:deploy

所以我用我的標準技巧來壓制默認的插件執行。根pom.xml

 <!-- Don't deploy all artifacts. Overridden in submodules. -->   
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-deploy-plugin</artifactId> 
     <executions> <execution> <id>default-deploy</id> <phase>none</phase> </execution></executions> 
    </plugin> 

而且DIST模塊pom.xml

 <!-- Enable deploy for this submodule. --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> </execution></executions> 
     </plugin> 
0

釋放:執行不這樣做,大的魔力。它通過在發佈期間創建的標籤檢出代碼:準備。默認目標是'部署'。如果你在pom.xml的distributionManagement中指定了一個站點,它將會是'deploy site-deploy'。這些步驟也可以通過手工完成。

如果你永遠不想部署這些工件(不在開發或發佈過程中),我寧願使用未定義階段的skip。 如果這僅在發佈期間需要,則應在release-profile內指定。

相關問題