maven执行插件目标?

时间:2015-03-15 12:08:17

标签: java maven

我是maven的新手,并了解如何以及何时在插件中执行阶段/目标

说我在我的pom中有以下代码片段

 <plugin>
   <groupId>org.codehaus.modello</groupId>
   <artifactId>modello-maven-plugin</artifactId>
   <version>1.4</version>
 </plugin>

现在,如果我执行mvn install,将执行安装之前的modello的所有阶段(以及与每个阶段相对应的所有目标)。 从右吗

但如果进行以下修改以引入特定目标,则只会执行一个目标,即java目标 (因为它在generate-sources阶段之前的install阶段)。 这是正确的吗?

 <plugin>
   <groupId>org.codehaus.modello</groupId>
   <artifactId>modello-maven-plugin</artifactId>
   <version>1.4</version>
   <executions>
     <execution>
       <goals>
         <goal>java</goal>
       </goals>
     </execution>
   </executions>
 </plugin>

1 个答案:

答案 0 :(得分:1)

不,它不会那样工作。首先,请使用mvn verify(而不是安装),除非您真的希望将项目复制到本地存储库。

如果您只指定了一个插件,它是默认生命周期的一部分(例如,已经为默认生命周期指定了maven-compiler-plugin,那么所有的jar都需要编译,对吗?),什么都不会发生。因此,您需要指定需要在执行块中执行哪些目标。在某些情况下,目标具有绑定到的默认阶段,例如, modello:java默认绑定到generate-sources阶段。在这种情况下,您不必在执行块中指定<phase>