【问题标题】:Maven and Java_HomeMaven 和 Java_Home
【发布时间】:2014-01-11 04:09:42
【问题描述】:

我使用的是 Netbeans 7.4。 我下载了 Maven3.1 并在 C:\Apache\apache-maven-3.1.1 中提取。 系统变量设置为:

JAVA_HOME 设置在 C:\Program Files\Java\jdk1.7.0_45 M2_HOME 设置 到 C:\Apache\apache-maven-3.1.1

路径设置为 C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft 共享\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program 文件 (x86)\Windows Live\Shared;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program 文件\Java\jdk1.7.0_45\bin;%M2_HOME%\bin

现在,当我从命令行命令 ..>mvn -v 我得到这个错误:

错误:JAVA_HOME 设置为无效目录。 JAVA_HOME = “C:\Program Files\Java\jdk1.7.0_45;”请设置 JAVA_HOME 变量 在您的环境中匹配您的 Java 安装位置

【问题讨论】:

  • echo %JAVA_HOME% 的输出是什么?你是如何设置 JAVA_HOME 的?它的末尾有一个不应该存在的分号。
  • JAVA_HOME = "C:\Program Files\Java\jdk1.7.0_45;" - 你有 ”;”最后 - 这似乎是错误的
  • 通过设置 Netbean->Tools->Options->Java-> 并设置 MavenHome 解决。
  • @Nizet echo %JAVA_HOME% 的输出是 C:\Program Files\Java\jdk1.7.0_45。

标签: java apache maven environment-variables java-home


【解决方案1】:

Java\jdk* 是开发包的安装目录。在 Program Files\Java 中找到一个“jre”文件夹。那个“JRE”文件夹应该是你的 JAVA_HOME

【讨论】:

  • jdk 是 jre 的超集,maven 需要 jdk
【解决方案2】:

JAVA_HOME 应该包含引号,因为一些 Maven 插件会附加类似 'bin\javac.exe' 的内容,如果引号仍然存在,则会给出无效的路径。

【讨论】:

    【解决方案3】:

    其实你需要创建


    system variable like this:
    JAVA_HOME = C:\Program Files\Java\jdk1.7.0_45
    CLASS_PATH = C:\Program Files\Java\jdk1.7.0_45\bin\lib
    

    User variable
    ME = C:\Program Files\apache-maven-3.1.1\bin
    M2_HOME = C:\Program Files\apache-maven-3.1.1
    MAVEN_OPTS = -Xms256m -Xmx512m
    

    Path - insert into your path
    C:\Program Files\apache-maven-3.1.1\bin
    

    别忘了重启系统

    【讨论】:

    • @javaz,按照我告诉你的那样创建你的环境,你明白了。我能做到,并且不打扰那些只是降低投票等级的懒人。
    【解决方案4】:

    仔细阅读错误信息。它说:

    ... JAVA_HOME = "C:\Program Files\Java\jdk1.7.0_45;" ...
    

    看到杂散的分号了吗?摆脱它!

    JAVA_HOME 变量应该包含一个目录名...而不是“搜索路径”。您告诉 Maven 要做的是使用名称包含分号的目录。该目录不存在。


    元建议:仔细阅读错误消息是值得的。

    【讨论】:

      【解决方案5】:

      我也遇到过类似的情况。我通过删除JAVA_HOME 末尾的分号(;) 解决了这个问题。

      JAVA_HOME = C:\Program Files\Java\jdk1.7.0_11
      

      代替

      JAVA_HOME = "C:\Program Files\Java\jdk1.7.0_11;"
      

      【讨论】:

        猜你喜欢
        • 2018-05-15
        • 2013-02-23
        • 2011-01-02
        • 2013-03-30
        • 1970-01-01
        • 2013-12-17
        • 1970-01-01
        • 2011-07-18
        • 1970-01-01
        相关资源
        最近更新 更多