Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Windows上安装Maven:";JAVA“主目录设置为无效目录”;_Java_Maven 2 - Fatal编程技术网

无法在Windows上安装Maven:";JAVA“主目录设置为无效目录”;

无法在Windows上安装Maven:";JAVA“主目录设置为无效目录”;,java,maven-2,Java,Maven 2,我照办了,但仍然无法在Windows上安装Maven 在命令提示符下运行以下命令时: E:\Documents and Settings\zach>mvn --version 我得到: 'mvn' is not recognized as an internal or external command, operable program or batch file. 我导航到maven安装文件夹并运行了mvn--version,得到: E:\java resources\apache-

我照办了,但仍然无法在Windows上安装Maven

在命令提示符下运行以下命令时:

E:\Documents and Settings\zach>mvn --version
我得到:

'mvn' is not recognized as an internal or external command, operable program or batch file.
我导航到maven安装文件夹并运行了
mvn--version
,得到:

E:\java resources\apache-maven-2.2.0\bin>mvn --version
ERROR: JAVA_HOME is set to an invalid directory.
JAVA_HOME = "E:\Sun\SDK\jdk\bin"
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation
但是当我运行
java-version
时,我得到:

java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode)
所以我确实安装了Java。有人知道问题出在哪里吗

错误:JAVA_HOME设置为无效目录。JAVA\u HOME=“E:\Sun\SDK\jdk\bin”请在您的环境中设置JAVA\u HOME变量,以匹配JAVA安装的位置

JAVA\u HOME
应设置为
E:\Sun\SDK\jdk

PATH
应设置为包含
%JAVA\u HOME%\bin

问题与路径有关

  • 确保目录“E:\java resources\apache-maven-2.2.0\bin”位于命令搜索路径上

  • 确保JAVA_HOME变量引用JAVA安装的主目录。如果您是从“E:\Sun\SDK\jdk\bin”执行Java,那么Java\u HOME变量需要指向“E:\Sun\SDK\jdk”

    注意:JAVA_HOME不应以“\bin”1结尾

  • 确保没有在JAVA_HOME变量2中输入分号

    注意:JAVA_HOME应该是一个目录名,而不是用分号分隔的“类似路径”的目录名列表

  • 另外请注意,如果忽略了有关键路径名中空格的说明中的此建议,则可能会遇到问题

    与许多跨平台工具一样,Maven在重要路径名中包含空格字符时可能会遇到问题

    “您需要安装Java SDK(例如,从Oracle的下载站点),并且应该将其安装到不带空格的路径名中,例如c:\j2se1.6。”

    “你需要打开Maven发行版。不要在你的源代码中间打开它;选择一些位置(在路径中没有空格!)并打开它。”

    解决这个问题的简单方法是在不同的位置重新安装Java或Maven,这样路径中就没有空间了


    1-。。。。除非您对安装位置的名称做出了疯狂的选择


    2-显然,解决Windows路径问题的一个常见“巫毒”解决方案是在末尾打一个分号。一般不推荐使用,在这里绝对不起作用。

    我在安装Grails时遇到了这个问题

    问题是我的JAVA\u HOME
    c:\sun\jdk\
    ,我的路径有
    %JAVA\u HOME%bin

    我把它改为:
    JAVA\u HOME=“c:\sun\jdk”和PATH=“%JAVA\u HOME%\bin”


    在那之后它工作了。

    我有同样的问题,上面的答案都没有为我解决,因为我的环境变量都设置好了。我刚刚重新安装了Java

    起作用的是

  • 转到
    C:\path\to\apache-maven-3.0.4\bin
    并打开
    mvn.bat
    文件
  • 查找如下所示的行
    @SET JAVA\u HOME=C:\progra~1\JAVA\jdk1.7.0\u 03
  • 请将其更正到正确的路径

  • 我不知道这是否是Windows特有的,但它可能会帮助某些人

    由于当前工作地点的安全限制,我无法在基于Windows的PC上设置环境变量

    我的解决方法是将mvn.bat文件从%M2%复制到C:\WINNT,并将以下内容添加到批处理文件的顶部:

    @REM Needed as unable to set env variables on my desktop PC.
    
    set MAVEN_OPTS=-Xms256m -Xmx1024m
    set M2_HOME=C:\apache-maven-3.0.4
    set M2=%M2_HOME%\bin
    set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_15
    set PATH=%JAVA_HOME%\bin;%M2%;%PATH%
    

    这不是最好的解决方案,但它确实有效。如果任何人有任何其他方法或解决标准环境变量无法设置到系统中的问题,我欢迎他们的回答。

    JAVA\u HOME应该是这样的C:\PROGRA~1\JAVA\jdk


    希望这能奏效

    这似乎是一篇老文章,但我还是想分享一下这个问题是如何解决的

    对于没有管理员权限的用户,当他们打开命令提示符时,它将以用户权限运行。这意味着,您可能有类似C:\Users的路径\

    因此,当尝试C:\Users\XYZ>mvn--version时,它实际上是从用户变量而不是环境变量中的系统变量搜索JAVA_主路径

    因此,为了解决这个问题,我们需要在用户变量中为JAVA_HOME创建一个环境变量


    希望,这对某人有所帮助。

    JDK已经在1.6和1.7之间切换了java.exe的位置

    在我的例子中,我发现JDK的JAVA_主页必须在末尾添加\jre。mvn bat文件正在查找java.exe,并在java_HOME\bin中查找它。jdk1.7没有它;它位于JAVA_HOME\jre\bin中。在JDK1.6中,它位于JAVA_HOME\bin中


    希望这对其他人有所帮助。

    运行eclipse和运行Maven需要存储两个路径变量,一个在jdk1.7_x_x_x_x位置,另一个在jdk1.7_x_x_x\bin中。如果您使用的是Windows,当您在环境变量中时,请执行以下操作:

    1) 创建一个名为JAVA_HOME的用户变量。将其指向JAVA文件的位置。例如:“C:\ProgramFiles\Java\jdk1.7.0_51”(删除引号)

    2) 在路径下,将%JAVA\u HOME%附加到路径。这将把步骤1中的文件位置添加到您的路径中。这对MAVEN有好处

    3) 如果您使用的是eclipse,则需要将路径指向“C:\Program Files\Java\jdk1.7.0\U 51\bin”。现在将%JAVA\u HOME%\bin附加到路径的末尾

    4) 您的路径应该如下所示: C:\ProgramFiles(x86)\Google\Google\U appengine\;C:\Users\username\AppData\Roaming\npm;%M2%;%JAVA_主页%;%JAVA\u HOME%\bin

    注意:包含在%中的项目(如%M2%)为赋值变量。这看起来是多余的,但却是必要的。您可以通过键入以下内容确认一切正常:

    java-版本
    javac-version
    mvn-版本


    在comman提示符中键入的这三条语句都不应返回错误。

    我的情况有点不同

    • JAVA_HOME
      已设置
      [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ oldProject---
      
      [INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) @ newProject ---
      
      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>2.3.2</version>
                  <configuration>
                      <source>1.7</source>
                      <target>1.7</target>
                  </configuration>
              </plugin>
          </plugins>
      </build>
      
      "C:\Program Files\Java\jdk1.7.0_51;"
      
      "C:\Program Files\Java\jdk1.7.0_51"