Java Maven POM是否可以并且应该指定它是否需要Maven 3或更新版本?

Java Maven POM是否可以并且应该指定它是否需要Maven 3或更新版本?,java,maven,maven-3,Java,Maven,Maven 3,我目前正在清理使用Maven的Java项目,并使用NetBeans IDE“调试”POM中的问题。我已经在IDE中将Maven 3.0.4设置为Maven版本,但是其他开发人员或我们的持续Intgeration系统可能有不同的设置 是否可以直接在POM中“强制”特定的Maven版本(例如通过使用Maven 3特定的元素) 是的,你可以而且应该这样做。一些Maven插件需要Maven 3或更高版本 通过将以下内容添加到pom.xml,使用maven enforcer插件: 真的 org.apac

我目前正在清理使用Maven的Java项目,并使用NetBeans IDE“调试”POM中的问题。我已经在IDE中将Maven 3.0.4设置为Maven版本,但是其他开发人员或我们的持续Intgeration系统可能有不同的设置


是否可以直接在POM中“强制”特定的Maven版本(例如通过使用Maven 3特定的元素)

是的,你可以而且应该这样做。一些Maven插件需要Maven 3或更高版本

通过将以下内容添加到
pom.xml
,使用maven enforcer插件:


真的
org.apache.maven.plugins
maven enforcer插件
1.3.1
执行-maven-3
执行
3.0.5
真的

你能做的最好的事情就是使用Enforcer插件。下面是一个例子:


Maven本身没有现成的方法来实现这一点。实际上有
先决条件
标记,但它不起作用,因为子项不继承它。

另一个选项是在pom中使用先决条件元素,例如:

<project>
   ...
   <prerequisites>
       <maven>3.0.0</maven>
   </prerequisites>
   ...
</project>

...
3.0.0
...
如前所述,这种简单的方法不适合儿童项目


有关哪种方法最适合您的摘要,请参见此处:

请注意包含链接,因为它们可能会消亡。。。请注意,已经有另一个答案包含了相关的代码片段。