我正在尝试使用Maven构建一个GWT项目。当gwt-maven-plugin尝试编译代码时,会抛出错误:
[ERROR] Error: Could not create the Java Virtual Machine.
[INFO] Could not reserve enough space for object heap
我试过mvn -Dgwt.extraJvmArgs=-Xmx1280m clean install
,但没有帮助。
一个明显的解决方案通常是设置MAVEN_OPTS
系统变量。所以,我添加了MAVEN_OPTS
,其值为-XX:MaxPermSize=512m -Xmx1280m
。如果我运行echo %MAVEN_OPTS%
,我会看到-XX:MaxPermSize=512m -Xmx1280m
。
现在,如果我尝试运行mvn clean install
,我会得到:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
这很奇怪,因为任务经理说,我有5.9 Gb的可用内存。为什么会抛出这个错误?为什么不能保留所需的空间?我正在使用32位JVM和Windows 8.
UPDATE :64位JVM帮助了。我没想到,-XX:MaxPermSize=512m -Xmx1280m
对于32位JVM来说太过分了。
答案 0 :(得分:2)
您需要通过
将配置传递给gwt-maven-pluginmvn -Dgwt.extraJvmArgs=-Xmx1280m clean install
另见http://mojo.codehaus.org/gwt-maven-plugin/compile-mojo.html
你也可以尝试减少内存量:
无法为对象堆保留足够的空间
这听起来像JVM无法保留所需的空间。试试-Xmx1024m或-Xmx768m。
如果这也不起作用,您可以尝试使用64位JVM来编译代码。