是否可以在POM中指定构建项目所需的Maven的最低版本?强制执行最低版本的Maven
由于旧版Maven中的错误导致大文物(> 2GB)被无声截断,我们一直在浪费大量时间来追踪构建项目的人员的问题。不出所料,这些趋势在最终产品中会造成奇怪和破碎的行为。
是的,我们已经说过,3.2.5是我们打算支持的最低版本,但我想知道:如果版本低于这个水平,有没有办法让Maven保释?我认为我可以轻松地编写一个插件来做到这一点,但似乎过度。所以,我希望有一个更简单的方法。
是否可以在POM中指定构建项目所需的Maven的最低版本?强制执行最低版本的Maven
由于旧版Maven中的错误导致大文物(> 2GB)被无声截断,我们一直在浪费大量时间来追踪构建项目的人员的问题。不出所料,这些趋势在最终产品中会造成奇怪和破碎的行为。
是的,我们已经说过,3.2.5是我们打算支持的最低版本,但我想知道:如果版本低于这个水平,有没有办法让Maven保释?我认为我可以轻松地编写一个插件来做到这一点,但似乎过度。所以,我希望有一个更简单的方法。
您可以使用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>
如果有人试图建立与Maven的版本低于3.2.5项目,构建就会失败。
您可以使用此插件(Java版本,OS ...)执行许多不同的规则;请参阅完整列表on the plugin documentation。
如果你只需要在Maven版本的先决条件应该已经做的工作:
见:https://maven.apache.org/pom.html#Prerequisites
任何不止于此将要求执法插件(见其他答案)。
该字段已弃用,仅限插件使用。不要使用它。 –
感谢您指出:) – wemu
非常方便,谢谢! – FatalError
对于那些阅读此答案的人:'3.2.5'是'[3.2.5,]'的一个快捷方式,否则插件将仅限于3.2.5。 –
@ Michael-O是的,这是在这个插件的[range specification](http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html)中指定的。 – Tunaki