在使用Gradle为Kotlin编译指定JDK时出现问题

时间:2019-03-18 22:29:50

标签: gradle kotlin

我遇到一个奇怪的问题,我的compileKotlin任务使用的JVM似乎与Gradle本身使用的JVM不同。这与我用来构建IntelliJ插件的gradle-intellij-plugin的版本有关-当前我使用的插件是0.3.10,并且构建脚本中的所有内容都应设置为使用Java 8进行编译。但是,由于我需要针对新的Java 11 JBSDK测试我的插件而升级到插件的0.5.0-SNAPSHOT时,我开始遇到诸如以下的编译错误:

> Task :compileKotlin FAILED
e: /Users/colin/dev/cursive/src/main/kotlin/cursive/debugger/Fragment.kt: (95, 25): Cannot access class 'com.sun.jdi.StringReference'. Check your module classpath for missing or conflicting dependencies

表示我的Kotlin代码正在使用大约9个以上的JDK进行编译。

我在构建脚本中添加了以下内容:

println "Java version: ${JavaVersion.current()}, \$JAVA_HOME = ${System.properties['java.home']}"

结果为:

Java version: 1.8, $JAVA_HOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre

我也输入了:

ext.javaHome = System.properties['java.home']

在我的buildscript块中,然后:

compileKotlin {
  kotlinOptions {
    jdkHome = javaHome
    jvmTarget = "1.8"
  }
}

但我仍然遇到相同的错误。

为什么会有这种想法,或者有待进一步诊断的想法?

0 个答案:

没有答案