2

我从另一个开发人员那里继承了一个项目,其中有一点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>

有人可以阐明它正在尝试做什么吗?我认为这是在说“在运行任何生成资源阶段时进行过滤”。这个对吗?

4

1 回答 1

3

不,你的解释不正确。

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

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

于 2015-10-29T20:32:03.073 回答