我有另一个程序员开发的应用程序,必须在我的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的ram,我尝试按以下方式更改过滤器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
这是正确的设置吗?还有另一种方法可以解决此错误?
还是谢谢你。
最佳答案
Simo,请看以下设置。
1.确保自以来没有触摸过GGTS.INI文件,您已使用gvm安装了该文件,符合该安装要求的人员。请查看以前是否已安装任何STS,并检查是否在您的问题上贴有GGTS.INI的STS.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设置。如果u在Linux命令行或寡妇环境变量中:
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
//环境设置中没有GRAILS_OPT和JAVA_OPT。请尝试使用此设置将其重置。
快乐的编码:)
关于java - Ggts OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23437393/