【问题标题】:Detected Maven Version: 3.0.5 is not in the allowed range 3.2检测到的 Maven 版本:3.0.5 不在允许的范围内 3.2
【发布时间】:2015-11-05 06:10:34
【问题描述】:

我正在使用 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 没有太多经验。

【问题讨论】:

  • 在命令提示符下键入 mvn -version。您运行的是哪个版本的 Maven?
  • 这是因为旧的 maven 版本。看到这个答案:Codehouse shutdown

标签: java maven pmml


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    在 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):
    

    -捆绑 (Maven 2)
    -Bundled (Maven 3)(是 3.0.5 并且被选中)
    -/usr/share/maven

    我本可以节省一点时间并制作一个 /etc/profile.d/maven.sh 文件并定义:

    export MAVEN_HOME=/usr/share/maven 用 apt 安装最新后...

    【讨论】:

      【解决方案3】:

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

      -Denforcer.skip=true
      

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

      【讨论】:

      • 在急于测试时非常方便,谢谢。
      • 节省了我的时间,谢谢。我在几个具有不同 Maven 和 Java 设置的项目上工作,这个选项使我免于从环境变量中定期切换 maven 版本,非常有用的命令
      【解决方案4】:

      The error 表示你的maven 版本太旧,你应该升级你的maven 版本到比3.2 更高

      maven 下载链接

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

      那么 清理和编译

      【讨论】:

      • 其实因为这是一个enforcer错误,所以需要专门使用3.2,因为新版本也不会通过规则。
      • 适用于 Maven 3.3.3。是我的电脑坏了还是怎么了?
      【解决方案5】:

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

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

      为 3.2 添加新安装

      • 点击添加
      • 导航到您的 maven 3.2 安装

      【讨论】:

        【解决方案6】:
        • http://maven.apache.org 安装最新版本的 Maven
        • 如果您使用的是 Netbean IDE,请转到工具 -> 选项 -> Java -> Maven,然后将安装路径配置如下

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

          • Maven Enforcer Plugin 有自己的版本范围语法,比“标准”版本范围语法更宽松。所以,3.2 是完全有效的。见maven.apache.org/enforcer/enforcer-rules/…
          • 根据错误消息,它说的有些不同。
          • 请详细说明。在这里,3.0小于3.2,是minimal支持的版本
          猜你喜欢
          • 2020-12-17
          • 2021-06-27
          • 2013-03-12
          • 2016-10-05
          • 2016-02-24
          • 1970-01-01
          • 1970-01-01
          • 2020-02-10
          • 2013-01-04
          相关资源
          最近更新 更多