强制实施最低版本的Maven

Fat*_*ror 9 maven

是否可以在POM中指定构建项目所需的最小Maven版本?

由于旧版Maven中的错误导致大型工件(> 2GB)被无声地截断,我们一直在浪费大量时间来追逐构建项目的人员的问题.不出所料,这些往往会导致最终产品中出现奇怪和破碎的行为.

是的,我们已经声明3.2.5是我们打算支持的最低版本,但我想知道:如果版本低于那个,有没有办法让Maven保释?我估计我可以轻松编写一个插件来执行此操作,但这似乎有点矫枉过正.所以,我希望有一个更简单的方法.

Tun*_*aki 15

您可以使用maven-enforcer-plugin它及其enforce目标来指定所需的最小Maven版本:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>1.4.1</version>
  <executions>
    <execution>
      <id>enforce-maven</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <requireMavenVersion>
            <version>3.2.5</version>
          </requireMavenVersion>
        </rules>
      </configuration>
    </execution>
  </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

如果有人试图使用小于3.2.5的Maven版本构建项目,则构建将失败.

您可以使用此插件强制执行许多不同的规则(Java版本,操作系统...); 请参阅插件文档的完整列表.