Ошибка сборки Gradle 5 и Java 11: почему Gradle считает, что я использую Java 10? - PullRequest
0 голосов
/ 27 ноября 2018

Я не могу собрать свой проект с использованием Java 11 и Gradle 5. При попытке собрать я получаю следующую ошибку:

$ gradle clean build
> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 10 (1.10)'.

Почему Gradle считает, что я использую JDK 10?Мой $JAVA_HOME установлен на /usr/lib/jvm/java-1.11.0-openjdk-amd64/, что является сборкой Linux OpenJDK для Java 11 (находится здесь https://jdk.java.net/11/). Я использую Gradle 5, но эта ошибка также возникла при использовании 4.10.2.

Ниже приведены соответствующие части моего build.gradle:

apply plugin: 'java'
sourceCompatibility = 11

Я также пытался использовать 1.11 для совместимости с исходным кодом, но это также не удается с той же ошибкой.

1 Ответ

0 голосов
/ 27 ноября 2018

Эта проблема была уникальной для Ubuntu 18. "JDK11", который находится в apt, на самом деле является JDK10 с резервными обновлениями безопасности JDK11.Это довольно запутанно, поэтому есть открытый отчет об ошибках с Ubuntu .См. Также этот пост о стеке обмена AskUbuntu .

Чтобы решить эту проблему, вам нужно вручную настроить систему на использование фактического JDK11.Я сделал что-то похожее на это руководство , чтобы исправить это.

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