[英]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,是否表示我要在配置文件测试下运行阶段测试?
软件包目标可以作为mvn release:perform
显式运行(调用perform
maven-release-plugin
目标),也可以将它们绑定到特定阶段 。 Maven插件通常会预先绑定一些目标。 您可以在pom.xml
定义自己的绑定,甚至可以使用配置文件指定几个不同的绑定。 在您的示例中,仅当执行配置文件test
时,才将maven-antrun-plugin:run
绑定到阶段test
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.