执行maven-resources-plugin

时间:2015-10-29 19:29:56

标签: maven maven-resources-plugin

我继承了另一位开发人员的项目,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>

有人可以说明它想要做什么吗?我认为它说,&#34;在运行任何生成资源阶段时进行过滤&#34;。它是否正确?

1 个答案:

答案 0 :(得分:3)

不,你的解释是不正确的。

这是宣布maven-resources-plugin的执行。此执行的id为filter,但这只是一个技术标识符,它不参与构建本身。此执行绑定到默认生命周期的generate-resources phase,并调用该插件的resources目标。

话虽如此,这真的很奇怪,可能完全无用。默认情况下,resources的{​​{1}}目标已在maven-resources-plugin阶段(即process-resources阶段之后)的默认生命周期中调用。这个目标的作用是将项目的所有资源(即默认情况下generate-resources下的内容)复制到主输出目录(即默认情况下为src/main/resources文件夹)。因此,此任务将执行两次:一次处于target阶段(根据您的POM执行),另一次处于generate-resources阶段默认情况。