Проблема с указанием JDK для компиляции Kotlin с использованием Gradle - PullRequest
0 голосов
/ 19 марта 2019

У меня странная проблема, когда JVM, используемая моей задачей compileKotlin, кажется, отличается от той, которую использует сам Gradle. Это как-то связано с версией плагина gradle-intellij-plugin, который я использую для сборки плагина IntelliJ - в настоящее время я использую плагин 0.3.10, и все в моем скрипте сборки должно быть настроено на использование Java 8 для компиляции. Однако, когда я обновляю плагин до 0.5.0-SNAPSHOT, потому что мне нужно протестировать мой плагин на новом Java 11 JBSDK, я начинаю получать ошибки компиляции, такие как:

> 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"
  }
}

но я все еще получаю ту же ошибку.

Есть идеи, почему это так, или идеи для дальнейшей диагностики?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...