我正在尝试使用Maven构build一个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
,它没有帮助。
一个明显的解决scheme通常是设置MAVEN_OPTS
系统variables。 所以,我添加了值为-XX:MaxPermSize=512m -Xmx1280m
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.
这很奇怪,因为任务pipe理器说,我有5.9 Gb的可用内存。 为什么可以抛出这个错误? 为什么不能保留所需的空间? 我正在使用32位JVM和Windows 8。
更新 :64位JVM帮助。 我没有想到,对于32位JVM, -XX:MaxPermSize=512m -Xmx1280m
太多了。
你需要通过配置传递给gwt-maven-plugin
mvn -Dgwt.extraJvmArgs=-Xmx1280m clean install
另见http://mojo.codehaus.org/gwt-maven-plugin/compile-mojo.html
你也可以尝试减少内存的数量:
无法为对象堆预留足够的空间
这听起来像JVM不能保留所需的空间。 尝试-Xmx1024m或-Xmx768m。
如果这也不起作用,您可以尝试使用64位JVM编译代码。