如何在Windows中的MAVEN_OPTS中设置启用断言和堆大小?

时间:2014-11-10 12:39:24

标签: java windows maven command-line

以下批次无法运行

set MAVEN_OPTS="-ea -Xmx16g"
mvn exec:java -Dexec.mainClass="tests.Runner01"

错误是

Unrecognized option: -ea -Xmx16g
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

如何克服?

1 个答案:

答案 0 :(得分:1)

来自maven_home/bin/mvn.bat

  

@REM MAVEN_OPTS - 运行Maven时传递给Java VM的参数
  @REM例如要调试Maven本身,请使用
   @REM设置MAVEN_OPTS = -Xdebug   -Xnoagent -Djava.compiler = NONE -Xrunjdwp:transport = dt_socket,server = y,suspend = y,address = 8000
    ....
  %MAVEN_JAVA_EXE %% MAVEN_OPTS%-classpath ....

在此示例中,您可以看到选项设置时没有引号,因此您应该使用

set MAVEN_OPTS=-ea -Xmx16g   

JVM将以

启动
java -ea -Xmx16g -classpath ...  
在这种情况下,

命令,这是正确的。

但是,当您定义MAVEN_OPTS="-ea -Xmx16g"时,JVM将以命令启动

java "-ea -Xmx16g" -classpath ...  

这是无效的陈述