gradle compileJava error java.lang.StackOverflowError

时间:2017-08-05 17:48:17

标签: java gradle java-8

我正在尝试运行gradle项目,包含javaCompile的每个任务都失败了。 我得到了

The system is out of resources.
Consult the following stack trace for details.
java.lang.StackOverflowError
at com.sun.tools.javac.code.Type.map(Type.java:220)
at com.sun.tools.javac.code.Type.map(Type.java:220)
at com.sun.tools.javac.code.Type.map(Type.java:220)
at com.sun.tools.javac.code.Type.map(Type.java:220)
.........

在Ubuntu 17.04上运行,oracle java 1.8.0_144-b01, gradle -v

Gradle 4.0.2
Build time:   2017-07-26 15:04:56 UTC
Revision:     108c593aa7b43852f39045337ee84ee1d87c87fd
Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_144 (Oracle Corporation 25.144-b01)
OS:           Linux 4.10.0-30-generic amd64      

我尝试了几个版本的gradle,jdk9,jvmargs之类的

compileJava {
options.fork = true
options.forkOptions.jvmArgs += ["-Xms2048m", "-Xmx4096m","-XX:ReservedCodeCacheSize=1024m", "-XX:+UseCompressedOops"]}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您正在使用java JDK-8077306中的一个已知问题 这已在jdk9中修复。升级到jdk9可以解决这个问题。

由于这不会向后移植到8,因此您无法在8中进行任何解决方法。