【问题标题】:Maven 3.3.1 ECLIPSE: -Dmaven.multiModuleProjectDirectory system propery is not setMaven 3.3.1 ECLIPSE:-Dmaven.multiModuleProjectDirectory 系统属性未设置
【发布时间】:2015-06-02 13:05:51
【问题描述】:

我刚刚在 Mac OS X 上安装了 Maven 3.3.1,使用 Eclipse 构建一个 Maven 项目给了我这个错误:

-Dmaven.multiModuleProjectDirectory system property is not set.
Check $M2_HOME environment variable and mvn script match.

在 Maven 3.2.5 之前没有发生这种情况。

有没有办法解决这个问题(降级到 3.2.5 除外)?

在 Eclipse 中我究竟可以在哪里设置这个“multiModuleProjectDirectory”属性?

【问题讨论】:

  • 这是截至 2015-03-24 提交的 m2e 错误,现已解决。请参阅 stackoverflow.com/a/29735560/751158 。

标签: java eclipse macos maven


【解决方案1】:

Eclipse你需要这样走。

Window-> Preference -> Java -> Installed JREs -> Edit

在编辑Default VM arguments你需要放

如果您已经设置了 maven 主页。

-Dmaven.multiModuleProjectDirectory=$M2_HOME

【讨论】:

  • 我不知道为什么,但是当你在 Eclipse 中运行像 clean 这样的 maven 选项时,它会显示这是必要的。
  • @atamanroman 和所有 - 这是截至 2015 年 3 月 24 日提交的 m2e 错误,此后已得到解决。请参阅stackoverflow.com/a/29735560/751158
  • 您还可以从Run Configuration -> Maven Build 添加VM args。选择您的启动配置并打开选项卡JRE。在 VM 参数文本框中添加 -Dmaven.multiModuleProjectDirectory=$M2_HOME
  • 我遵循了解决方案,但仍然看到相同的错误。那是因为 maven 项目引用了 jre 1.7 但 JAVA_HOME 设置为 jre1.8。使 Maven 项目指向 jre 1.8在 configure Build path->java build path 解决了这个问题。
【解决方案2】:

在 IntelliJ 中,您可以在下一个配置视图中找到的 VM 选项字段中设置此选项:

首选项/构建、执行、部署/构建工具/Maven/Runner

【讨论】:

  • 它也适用于带有 Maven 3.3.9 的 IntelliJ Idea 14.0
【解决方案3】:

由于 Maven 3.3.1 中的更改,这已作为 Eclipse 中 m2e 的错误提交,地址为 https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944

截至 2015 年 4 月 13 日,此问题已在 m2e 1.5.2 中修复。这是一个可用的版本,可以从http://download.eclipse.org/technology/m2e/releases/ 安装。

(不再需要为整个工作区或特定启动配置更改 JVM 参数。)

【讨论】:

  • 我得到:An error occurred while collecting items to be installed session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,org.aspectj.runtime.source,1.7.0.20120703164200 No repository found containing: osgi.bundle,org.eclipse.contribution.weaving.jdt.source,2.2.0.e37x-RELEASE-20120704-0900 + 其他人
  • 最新的 1.5.X 版本应该在这里:download.eclipse.org/technology/m2e/milestones/1.5
【解决方案4】:

在 JVM 选项中这样定义:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

【讨论】:

  • 在 Eclipse 中我究竟可以在哪里设置项目的 JVM 选项?
  • PROJECT_DIR 比 M2_HOME 更有意义。
  • 该变量不存在 - 您实际上试图引用的是 $PROJECT_LOC
【解决方案5】:

如果您的命令行上有此错误消息,请验证您的 PATH 变量是否指向与您的 M2_HOME 变量相同的 maven 安装 apache-maven-3.X.X/bin 文件夹。就我而言,我混淆了两个版本,导致了这个错误。

【讨论】:

    【解决方案6】:

    运行配置,创建新的maven build 启动配置,在第一个选项卡中填写基本目录和目标, 然后,转到jre tab 并将此配置添加到vm args

    -Dmaven.multiModuleProjectDirectory=%M2_HOME%
    

    M2_HOME 是一个环境变量,指向你的 maven 安装的基目录

    【讨论】:

      【解决方案7】:

      如果你想尝试第二种方式,你可以尝试从http://download.eclipse.org/technology/m2e/milestones/1.5/下载一个路径。

      打开帮助>安装新软件并从上面的网址下载。这样就解决了我的问题。

      【讨论】:

        【解决方案8】:

        我在使用 Maven 3.3 和 3.2 版本时遇到了同样的问题,所以我决定将它降级到 3.0.5 版本,它工作得很好。

        【讨论】:

          【解决方案9】:

          为了在 Maven 中永久设置 maven.multiModuleProjectDirectory 属性,我添加了一个默认激活配置文件,它使用 settings.xml 文件中的 MAVEN_HOME 环境变量初始化该属性。或者您也可以使用 M2_HOME 环境变量。

          <profile>
              <id>my-profile</id>
              <properties>
                      <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
              </properties>
          </profile>
          <activeProfiles>
              <activeProfile>my-profile</activeProfile>
          </activeProfiles>
          

          【讨论】:

            【解决方案10】:

            我在使用 intelliJ 14 时遇到了同样的问题,我尝试了论坛上提供的不同解决方案,但没有成功。我所做的是我完全卸载了 intellij 并安装了 intellij 15.0.1 并导入了相同的项目然后一切正常。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-05-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多