我正在使用Maven,我在编译和构建项目时遇到错误。这是评估一些pmml文件的jpmml项目。现在我收到了这个错误:
规则0:org.apache.maven.plugins.enforcer.RequireMavenVersion失败并显示消息:Detected Maven Version:3.0.5不在允许范围内3.2。
检查链接以查看图像: https://www.dropbox.com/s/3r9d8g8l4r1zctp/maven_error.png?dl=0
请帮忙!我对Java和Maven没有太多经验。
答案 0 :(得分:9)
您的pom.xml
包含一个名为enforcer的插件,可以定义required maven version。您需要安装提到的maven版本(3.2。*)并使用它来编译项目。
答案 1 :(得分:5)
在Ubuntu 16.04上的intelliJ 2016.1.2中:
我安装了最新的: sudo apt-get install maven
然后深入挖掘IntelliJ隐藏哪个maven将使用的地方:
::operator delete(void*)
-Bundled(Maven 2)
-Bundled(Maven 3)(是3.0.5,它被选中)
- / usr / share / maven< ---新下载的maven住在哪里(3.3.9)
我本可以节省一点时间并制作一个 /etc/profile.d/maven.sh 文件并定义:
安装最新的apt后,导出MAVEN_HOME = / usr / share / maven
答案 2 :(得分:3)
The error
表示您的maven
版本太旧,您应该将maven版本升级为大于3.2
maven下载链接
http://maven.apache.org/download.cgi
然后 清洁&编译
答案 3 :(得分:2)
转到窗口>偏好> Maven>设备
在安装下,您会注意到嵌入版本是3.0.5
为3.2
添加新安装答案 4 :(得分:0)
如果您使用的是 Netbean IDE ,请转到工具 - >选项 - > Java - > Maven,只需将安装路径配置为
即可在Netbeans中打开你的maven项目并使用依赖项构建它。
答案 5 :(得分:0)
如果由于某种原因您不能或不想更新Maven但迫切需要生成结果,还有一种方法可以使用命令行选项绕过此检查:
-Denforcer.skip=true
它对我来说适用于Maven 3.0.4和maven-enforcer-plugin 3.0.0-M1。由于您没有在问题中提到是否仅需要完成构建或完成构建,以使执行器阶段固定不变,因此我也建议您采用此解决方法。
答案 6 :(得分:-1)
维护此项目的任何人都应该考虑使用像这样的强制执行规则。通常你说你至少需要Maven 3.1.1或更高版本,但永远不会绑定到固定版本。除了Maven版本3.2不存在之外...... 3.2.1首先是3.2.X版本。