我有一个由另一个程序员开发的应用程序,我必须在我的PC上本地运行grails 2.3.8,所以我通过gvm安装grails,我安装了ggts并导入了我的程序,但是在编译时我得到以下内容错误:
Fatal Error during compilation org.apache.tools.ant.BuildException: java.lang.OutOfMemoryError: Java heap space (Use - stacktrace to see the full trace)
我的电脑有8GB的内存,我试图按如下方式更改过滤器GGTS.ini:
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140116-2212
-product
org.springsource.ggts.ide
--launcher.defaultAction
openFile
-vmargs
-Dgrails.console.enable.interactive=false
-Dgrails.console.enable.terminal=false
-Djline.terminal=jline.UnsupportedTerminal
-Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
-Dosgi.requiredJavaVersion=1.6
-Xms1024m
-Xmx2048m
-XX:PermSize=4096m
-XX:MaxPermSize=6144m
-XX:+UseParallelGC
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Xdock:icon=../Resources/ggts.icns
这是正确的设置吗?有没有其他方法来解决这个错误?
无论如何,谢谢大家。
答案 0 :(得分:2)
1.确保您的GGTS.INI文件未被触及,因为您已经安装了gvm,这些人符合这种安装。请看,如果您之前安装了任何STS并检查您的STS.ini与GGTS.INI在您的问题上发布了。有些时间增加数字并不能解决问题,只需将其粘贴到原始设置,然后调整: )。
检查此设置可能是:
grails.project.fork = [
test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true], // configure settings for the test-app JVM
run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256], // configure settings for the run-app JVM
war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256], // configure settings for the run-war JVM
console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]// configure settings for the Console UI JVM
]
2.正如dmahapatro所说导出java_OPTS设置。如果你在Linux命令行或widows环境变量:
export JAVA_OPTS="-XX:MaxPermSize=512m" //you can omit this if u want
export GRAILS_OPTS="-server -Xmx512M -XX:MaxPermSize=512m -Dfile.encoding=UTF-8"
grails run-app
3.要查看 jvm 尝试此类设置的设置:
ps aux | grep java | less
4.工作STS.INI设置的示例
-vm
/usr/share/java/jdk1.6.0_30/bin/java
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.XXMaxPermSize
384M
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
-vmargs
-Xmn128m
-Xss1m
-XX:PermSize=128m
-Dgrails.console.enable.interactive=false
-Dgrails.console.enable.terminal=false
-Djline.terminal=jline.UnsupportedTerminal
-Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx4096m
-XX:MaxPermSize=512m
//在环境settings.try上没有GRAILS_OPT和JAVA_OPT来重置它。
快乐编码:)