我正在尝试使用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
系统变量。因此,我添加了带有值-XX:MaxPermSize=512m -Xmx1280m
的MAVEN_OPTS
。如果我运行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的可用RAM。为什么要抛出此错误?为什么不能保留所需的空间?我正在使用32位JVM和Windows 8。
更新:64位JVM帮助。我不认为,对于32位JVM而言,-XX:MaxPermSize=512m -Xmx1280m
太多了。
您需要通过
将配置传递给GWT-Maven-Pluginmvn -Dgwt.extraJvmArgs=-Xmx1280m clean install
另请参见http://mojo.codehaus.org/gwt-maven-plugin/compile-mojo.html
您也可以尝试减少内存量:
无法为物体堆储存足够的空间
这听起来像JVM无法保留所需的空间。尝试-XMX1024M或-XMX768M。
如果这也不起作用,您可以尝试使用64位JVM编译代码。