我在使用gradle构建项目时遇到了outOfMemoryError。我在stackoverflow中尝试了很多解决方案,但没有任何帮助。请在下面找到stacktrace
java.lang.OutOfMemoryError: Java heap space
at com.sun.tools.javac.util.ByteBuffer.<init>(ByteBuffer.java:45)
at com.sun.tools.javac.jvm.ClassWriter.<init>(ClassWriter.java:101)
at com.sun.tools.javac.jvm.ClassWriter.instance(ClassWriter.java:145)
at com.sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.java:295)
at com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:72)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.contextForNextRound(JavacProc
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingE
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:981)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
at com.sun.tools.javac.main.Main.compile(Main.java:353)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:115)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:45)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
我尝试过在gradlew文件中添加以下行的解决方案。
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\" \"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=1024m\""
请帮我解决这个问题。提前谢谢。
答案 0 :(得分:1)
最大堆和最大烫发大小配置为1G,这将导致您遇到麻烦。
1G的perm生成大小是从1G总堆中分配的(总堆的100%分配给永久生成)。将永久生成大小减少到128M,然后尝试。
如下所示更新GRADLE_OPTS。
-XX:MaxPermSize=128m