有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java“mvn”不被识别为内部或外部命令、可操作程序或批处理文件

也许以前有人问过这个问题,但我发现了一种非常奇怪的错误。 当我从bin运行mvn --version命令时,它给出了版本和其他信息。然而,当我在bin之外运行时,它会给出异常。结果如下所述

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin>mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:
28+0530)
Maven home: C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_25\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5>mvn --version
'mvn' is not recognized as an internal or external command,
operable program or batch file.

此外,我还在用户变量中设置了JAVA_HOME,并在系统环境变量中设置了M2_HOME和M2。这些变量和%path%的输出为:

C:\Users\SAHILBHALLA>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_25

C:\Users\SAHILBHALLA>echo %M2%
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin

C:\Users\SAHILBHALLA>echo %M2_HOME%
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5

C:\Users\SAHILBHALLA>echo %path% 
C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow erShell\v1.0\;C:\Program Files\Java\jdk1.7.0_25\bin;.; 

告诉我哪里错了。我该怎么做才能从中恢复过来


共 (6) 个答案

  1. # 1 楼答案

    出现此问题的原因是操作系统中没有与已安装maven对应的任何环境变量。 为了解决这个问题,我总是使用Intellij的捆绑Maven,不再安装单独版本的Maven,要找到捆绑Maven的路径,请转到Intellij并点击Ctrl+Alt+S->Build, Execution, Deployment->Build tool->Maven->Maven home directory您可以在那里找到intellij的绑定maven路径,如下图所示

    enter image description here

    然后转到System environment variables并设置以下变量:

    Variable name: MAVEN_HOME

    Variable value: C:/Program Files/JetBrains/IntelliJ IDEA 2019.3.1/plugins/maven/lib/maven3

    enter image description here

    定义系统变量MAVEN_HOME后,找到变量path,并将此行添加到列表中

    %MAVEN_HOME%\bin

    enter image description here

    工作完成后,打开命令提示符并通过写入mvn -v来测试它。99%的时间可以工作,如果你在1%的时间内,你必须重新启动你的计算机

    如果您想从intellij的内部终端使用mvn命令,您必须在设置环境变量后重新启动intellij,那么从终端运行maven命令应该不会有任何问题

  2. # 2 楼答案

    我的问题解决了,path没有解决%M2%。当我在路径中添加maven bin的位置,而不是在命令生效之后添加%M2%

    我要感谢所有试图解决这个问题的人

  3. # 3 楼答案

    首先,确保java正在工作,或者没有在cmd中运行此命令

     C:\>java -version
    

    如果它工作,它将显示以下输出:-

    C:\>java -version
    java version "1.8.0_74"
    Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
    Java HotSpot(TM) Client VM (build 25.74-b02, mixed mode)
    

    第1步首先在用户变量中设置java_home[C:\Program Files\java\jdk1.8.0_74]路径

    第2步然后在系统变量中设置MAVEN_HOME[C:\Program Files\MAVEN\apache-MAVEN-3.3.9]路径,并确保您的MAVEN文件夹仅存在于C文件夹中

    第3步然后在系统变量中设置M2路径,并在那里指定maven bin位置,即[C:\Program Files\maven\apache-maven-3.3.9\bin]

    第4步然后设置新的系统变量,即变量名=MAVEN_选项和变量值=-Xms256m-Xmx512m

    第5步然后编辑路径/系统路径变量小心不要从中删除任何内容,只需添加java_home path即=;C:\ProgramFiles\Java\jdk1。8.0_74和M2变量=;%最后是M2%

    第6步以确保maven现在正在工作或未在cmd中运行此命令

    > C:\>mvn --version
    

    如果工作正常,将显示以下结果:-

    Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-
    7+05:30)
    Maven home: C:\Program Files\maven\apache-maven-3.3.9\bin\..
    Java version: 1.8.0_74, vendor: Oracle Corporation
    Java home: C:\Program Files\Java\jdk1.8.0_74\jre
    Default locale: en_IN, platform encoding: Cp1252
    OS name: "windows 7", version: "6.1", arch: "x86", family: "dos"
    
  4. # 4 楼答案

    在Windows7中,我在系统级添加了环境变量后解决了这个问题。 如果您没有足够的权限,请尝试在系统变量而不是用户变量中设置%JAVA_HOME%%M2_HOME%

  5. # 5 楼答案

    在Windows10中,我必须以管理员身份运行Windows命令提示符(cmd)。 这样做为我解决了这个问题

  6. # 6 楼答案

    如果您希望从任何位置执行maven,那么它应该位于系统的PATH上。将%M2_HOME%\bin添加到PATH