2011-11-07 166 views
4

期間多次執行我有多個重疊輪廓Maven項目。我想在每次構建的開始時顯示活動配置文件。所以我把下面進入pom.xml <build>部分:Maven插件構建

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-help-plugin</artifactId> 
      <version>2.1.1</version> 
      <executions> 
       <execution> 
        <id>display-active-profiles-at-start-of-build</id> 
        <phase>validate</phase> 
        <goals> 
         <goal>active-profiles</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

的問題是,該插件的構建過程中多次執行:

  1. 在構建之初(在validate階段)。
  2. jar:jar執行。
  3. source:jar /時pre-integration-test(?),當正在啓動碼頭。

指定<phase>initialize</phase>時的結果類似。有沒有辦法讓它只在構建開始時運行?

回答

2

它執行好幾次的原因,是因爲你的插件之一是執行另一個生命週期作爲它的魔力的一部分。

source:jar肯定這樣做,由its documentation規定。

在 執行自身之前,調用生命週期階段generate-sources的執行。

jar:jar通常不會,但它可能是你有另一個插件,從另一個生命週期中旋轉。

在產生源罐的情況下,你一般不需要另外的生命週期,以及插件作者通過實施jar-no-fork mojo認識到這一點。

你可以用它替換默認jar魔力,按照這裏描述的步驟 - >http://maven.apache.org/plugins/maven-source-plugin/usage.html

+0

感謝。這可能會削弱我的構建嚴重的時間,因爲前者/ npm/bower/ember步驟在執行時更爲昂貴,更不用說三次了 –

相關問題