繁体   English   中英

Maven插件目标如何映射到Maven阶段?

[英]How are maven plugin goals mapped to maven phases?

我最近正在从事Maven项目,但实际上我不了解它是如何从蚂蚁背景来的内部工作的。

这是我尝试使用Google却无法获得满意的基本问题。

1)当我运行MVN清洁安装或MVN清洁包。 安装或打包目标是在内部逐个运行pom和父pom中定义的所有插件,还是运行我们需要执行mvn的插件

2)是否执行了插件的所有目标?

3)目标,阶段和任务如何相互关联? 考虑下面的例子

<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <profiles>
      <profile>
      <id>test</id>
      <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
               <execution>
                  <phase>test</phase>
                  <goals>
                     <goal>run</goal>
                  </goals>
                  <configuration>
                  <tasks>
                     <echo>Using env.test.properties</echo>
                     <copy file="src/main/resources/env.test.properties" tofile="${project.build.outputDirectory}/env.properties"/>
                  </tasks>
                  </configuration>
               </execution>
            </executions>
         </plugin>
      </plugins>
      </build>
      </profile>
   </profiles>
</project>

说如果我运行mvn test -Ptest,是否表示我要在配置文件测试下运行阶段测试?

Build Lifecycle简介对此进行了很大的说明

软件包目标可以作为mvn release:perform显式运行(调用perform maven-release-plugin目标),也可以将它们绑定到特定阶段 Maven插件通常会预先绑定一些目标。 您可以在pom.xml定义自己的绑定,甚至可以使用配置文件指定几个不同的绑定。 在您的示例中,仅当执行配置文件test时,才将maven-antrun-plugin:run绑定到阶段test

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM