2011-11-07 46 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步骤在执行时更为昂贵,更不用说三次了 –