如何强制Maven使用maven-resources-plugin 2.6版?

时间:2013-09-18 13:32:48

标签: maven plugins version

当我运行$mvn -q clean install时,我看到一些[debug] execute contextualize语句打印到控制台。

在做了一些搜索后,我确定这是Maven Resources Plugin 2.5版的问题。这个问题已在2.6版中修复,但我无法弄清楚如何让我的项目使用它。 (http://jira.codehaus.org/browse/MRESOURCES-140

我的项目都没有在他们的poms中列出这个插件,所以我不确定Maven从哪里获取它,也许它用在其他Apache依赖项之一或其他东西? (我甚至不太了解这个插件的作用或者Maven中的插件是如何使用的)

我尝试将以下内容添加到我的根pom中:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
        </plugin>
    </plugins>
</build>

然而,这似乎并没有解决问题。我仍然看到[debug] execute contextualize输出,当我运行$mvn help:effective-pom时,输出仍会显示:

  <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <executions>
      <execution>
        <id>default-resources</id>
        <phase>process-resources</phase>
        <goals>
          <goal>resources</goal>
        </goals>
      </execution>
      <execution>
        <id>default-testResources</id>
        <phase>process-test-resources</phase>
        <goals>
          <goal>testResources</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

如何强制Maven使用此插件的较新版本,以便我可以抑制恼人的[debug] execute contextualize输出?

2 个答案:

答案 0 :(得分:1)

maven-resources-plugin默认绑定到生命周期的罐子,战争和&amp;耳朵。像您一样向公司根POM添加定义应该可以更新使用的版本。要检查的事项:

  • 继承项目是否指定了包含更改的公司父POM的版本?
  • 在运行项目构建之前,您是否在根POM上运行mvn clean install

如果答案是“是”和“是”,请尝试清除本地工件仓库,然后为root运行mvn clean install,然后再次尝试构建。

答案 1 :(得分:0)

尝试在构建设置中添加插件的groupId:

<build>
  <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
    </plugin>
  </plugins>
</build>