我在windows中输入了mvn命令,但命令行返回了一个java提示

LoG*_*Ter 9 java maven

我在我的机器上安装了maven 3.3.1和java 1.7,Windows 8.1.

MAVEN_HOME=C:\Program Files\Apache\apache-maven-3.3.1
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75
Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN_HOME%\bin;
Run Code Online (Sandbox Code Playgroud)

我试过访问mvn命令行,在C:\ Users\{myusername}>下,它运行良好:

C:\Users\{myusername}>java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

C:\Users\{myusername}>mvn -version
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T13:10:2
7-07:00)
Maven home: C:\Program Files\Apache\apache-maven-3.3.1\bin\..
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_75\jre
Default locale: en_US, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"
Run Code Online (Sandbox Code Playgroud)

但当我将命令路径更改为D:,我的机器中的另一个磁盘时,输出变为:

D:\>mvn --version
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32          use a 32-bit data model if available
    -d64          use a 64-bit data model if available
    -server       to select the "server" VM
    -hotspot      is a synonym for the "server" VM  [deprecated]
                  The default VM is server.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose:[class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -no-jre-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions with specified granularity
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions with specified granularity
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                  see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
                  show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for m
ore details.

D:\>java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)

此外,当我使用Intellij创建maven项目时,就像quickstart一样,发生了类似的错误:

-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.[ERROR] Maven execution terminated abnormally (exit code 1)
Run Code Online (Sandbox Code Playgroud)

我试过像mvn -version,mvn -d.但他们仍然无法工作.有人可以帮忙吗?谢谢!!

更新:现在我的环境变量设置为:

JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75;
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
M2_HOME=C:\Program Files\Apache\apache-maven-3.3.1;
MAVEN_HOME=C:\Program Files\Apache\apache-maven-3.3.1;
PATH=%JAVA_HOME%\bin;%M2_HOME%\bin;{others...}
Run Code Online (Sandbox Code Playgroud)

问题仍然存在.

更新:

每当我在D:path中输入mvn命令后,命令行就会返回java提示; 似乎忽略了mvn之后的所有事情.像这样:

D:\>mvn fewadsfe
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32          use a 32-bit data model if available
    -d64          use a 64-bit data model if available
    -server       to select the "server" VM
    -hotspot      is a synonym for the "server" VM  [deprecated]
                  The default VM is server.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose:[class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -no-jre-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions with specified granularity
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions with specified granularity
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                  see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
                  show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for m
ore details.
Run Code Online (Sandbox Code Playgroud)

小智 10

我也有maven 3.3.1和Windows 7的这个问题,我在论坛中找到了这个答案.在此版本的maven中,在驱动器的根目录(c:\,d:\,...)中发出命令行存在问题.在任何其他目录上发出命令有效.

  • 这也是我的问题,我只是运行mvn -version来验证路径是否正确.当我看到这个时,即将降级...谢谢 (2认同)

Meh*_*hdi 6

我和Maven 3.3.1有同样的问题,但是当我尝试3.2.5版时,问题就解决了.我不知道Windows 7/8和maven 3.3.1有什么问题.