为什么maven使用差异插件版本来构建不同的项目

时间:2015-06-05 12:31:34

标签: maven maven-2

我有项目A和B,使用Maven 2.2.1

使用它来构建A,结果是正面的,而用户构建B时,它失败了。

我发现它为这两个项目使用了不同版本的插件。

我不知道为什么? A和B中的pom.xml都没有指定插件的版本。

我只是希望它会使用相同版本的插件来构建B项目作为A'

你对此有任何想法吗?非常感谢提前。

1 个答案:

答案 0 :(得分:0)

第一个问题是您没有定义插件的版本。

通常你应该有一种corporate/company pom来定义所有使用过的插件及其特定的版本号。通过使用这种方法,您可以防止这种情况。

您可以做的最好的事情是通过pluginManagement在您的pom文件中定义使用过的插件:

<project...>
  .
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-xyz-plugin</artifactId>
          <version>yyyyy</version>
        </plugin>
        .
      </plugins>
    </pluginManagement>
    .
  </build>
  .
</project>

如果这样做,您将获得可重现的构建结果。

此外,您不应该使用Maven 2.X anymore cause it's defined EoL.