13

我正在使用 Maven,并且在编译和构建项目时遇到错误。评估一些 pmml 文件是 jpmml 项目。现在我得到了这个错误:

规则 0:org.apache.maven.plugins.enforcer.RequireMavenVersion 失败并显示消息:检测到的 Maven 版本:3.0.5 不在允许的 3.2 范围内。

检查链接以查看图像: https ://www.dropbox.com/s/3r9d8g8l4r1zctp/maven_error.png?dl=0

请帮忙!我对 Java 和 Maven 没有太多经验。

4

7 回答 7

12

pom.xml包含一个名为enforcer的插件,可以定义所需的 Maven 版本。您需要安装提到的 maven 版本(3.2.*)并使用它来编译项目。

于 2015-08-12T14:50:53.873 回答
7

在 Ubuntu 16.04 上的 IntelliJ 2016.1.2 中:

我已经安装了最新的:sudo apt-get install maven

然后只需深入了解 IntelliJ 隐藏它将使用哪个 maven 的位置:

File > 
Settings > 
Build, Execution, Deployment >
Build Tools >
Maven >
Maven_home directory (I didn't have this env variable set, so you can choose):

-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 ...

于 2016-06-06T02:14:53.000 回答
5

如果您由于某种原因不能或不想更新 Maven 但迫切需要构建结果,还有一种方法可以使用命令行选项绕过此检查:

-Denforcer.skip=true

它适用于 Maven 3.0.4 和 maven-enforcer-plugin 3.0.0-M1。由于您没有在问题中提到您是否只需要完成构建或完成它以修复执行器阶段,因此我也建议将此解决方法作为答案。

于 2019-06-09T12:41:56.887 回答
3

转到窗口 > 首选项 > Maven > 安装

在安装下,您会注意到嵌入式版本是 3.0.5

为 3.2 添加新安装

  • 点击添加
  • 导航到您的 maven 3.2 安装
于 2016-01-07T01:02:32.310 回答
3

The error意味着你的maven版本太旧了,你应该升级你的maven版本比3.2

maven下载链接

http://maven.apache.org/download.cgi

然后清理并编译

于 2015-08-12T14:53:08.303 回答
1
  • 从http://maven.apache.org安装最新版本的 Maven
  • 如果您使用的是Netbean IDE,请转到工具 -> 选项 -> Java -> Maven,然后将安装路径配置如下

    在此处输入图像描述

  • 在 Netbeans 中打开您的 maven 项目并使用依赖项构建它。

于 2017-03-09T20:18:19.737 回答
-1

维护这个项目的人应该考虑使用这样的强制规则。通常您会说您至少需要 Maven 3.1.1 或更高版本,但从不绑定到固定版本。除了 Maven 3.2 版本不存在...3.2.1 是第一个 3.2.X 版本。

于 2015-08-12T15:58:33.813 回答