是否可以在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