Dav*_*les 6 scala permgen gradle
我正在org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileScala'尝试使用Gradle构建我的Scala项目,如果我运行Gradle,--stacktrace看起来就像罪魁祸首一样java.lang.OutOfMemoryError: PermGen space.
我尝试分配编译任务并添加MaxPermSize到分叉的JVM参数,但所做的只是将OOME移到后面InvocationTargetException.
这是我build.gradle的compileScala任务块:
compileScala {
options.fork = true
options.forkOptions.jvmArgs = ['-XX:MaxPermSize=512m']
scalaCompileOptions.additionalParameters = [
"-feature",
"-language:reflectiveCalls", // used for config structural typing
"-language:postfixOps"
]
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以解决此通过使用全球增加PermGen的空间$JAVA_OPTIONS,但我更喜欢我可以这样就没有人需要本地定制任何建设项目与源检查的解决方案.
FWIW,我在Mac OS 10.9.3上的Java 1.6.0_65下使用Gradle 1.11和Scala 2.10.3.
找到它:即使ScalaCompile任务具有该options属性,该属性也不用于Scala编译; 你需要scalaCompileOptions改用.它反过来有自己的forkOptions财产.
compileScala {
scalaCompileOptions.fork = true
scalaCompileOptions.forkOptions.jvmArgs = ['-XX:MaxPermSize=512m']
scalaCompileOptions.additionalParameters = [
"-feature",
"-language:reflectiveCalls", // used for config structural typing
"-language:postfixOps"
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |