我从另一个开发人员那里继承了一个项目,pom.xml
中有一点我不太理解。如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>filter</id>
<phase>generate-resources</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
有人能告诉我们它想做什么吗?我认为这是在说,"在运行ANY生成资源阶段时进行过滤"。这是正确的吗?
不,您的解释不正确。
这是在声明对maven-resources-plugin
的执行。此执行的id为filter
,但这只是一个技术标识符,它与构建本身无关。此执行绑定到默认生命周期的generate-resources
阶段,并调用该插件的resources
目标。
话虽如此,这真的很奇怪,可能完全没有用。默认情况下,maven-resources-plugin
的resources
目标已经在process-resources
阶段的默认生命周期中调用(正好在generate-resources
阶段之后)。这个目标是将项目的所有资源(即默认情况下src/main/resources
下的资源)复制到主输出目录(即默认状态下的target
文件夹)。因此,此任务将执行两次:一次在generate-resources
阶段(每次在POM中执行),另一次默认在process-resources
阶段。