Gradle: не удалось определить версию Java из '11 .0.2 ' - PullRequest
0 голосов
/ 25 января 2019

Я запустил следующий комментарий:

./gradlew app:installDebug

только для записи в журнал:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '11.0.2'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

Моя версия gradle - 5.1.1:

------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------

Build time:   2019-01-10 23:05:02 UTC
Revision:     3c9abb645fb83932c44e8610642393ad62116807

Kotlin DSL:   1.1.1
Kotlin:       1.3.11
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          11.0.2 (Oracle Corporation 11.0.2+9-LTS)
OS:           Mac OS X 10.13.6 x86_64

Я не уверен, как поступить (я пытался обновить / понизить версию, но пока ничего не получалось).

ОБНОВЛЕНИЕ: Когда я запустил ./gradlew --version, я получил следующее:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '11.0.2'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

Мой gradle-wrapper.properties содержит:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip

Ответы [ 6 ]

0 голосов
/ 26 июня 2019

Поскольку версия оболочки не поддерживает 11+, вы можете сделать простой трюк, чтобы навсегда обмануть новую версию InteliJ.

  press3x Shift -> type "Switch Boot JDK" -> and change for java 8. 

https://blog.jetbrains.com/idea/2015/05/intellij-idea-14-1-4-eap-141-1192-is-available/

Или, если вы хотите работать с java 11+, просто обновите версию оболочки до 4.8+

0 голосов
/ 31 мая 2019

Я столкнулся с подобной проблемой. Я удалил эти:

  • библиотеки и кэши из папки .idea (YourApp> .idea> ..) И
  • содержимое папки сборки.

    затем перестроить.

* НЕ ЗАБУДЬТЕ ЗАПИСАТЬ СВОЙ ПРОЕКТ ПЕРВЫМ *

0 голосов
/ 10 марта 2019

У меня была такая же проблема.Обновление до gradle 5.0 помогло мне.

Эта ссылка содержит подробные инструкции по установке gradle 5.0: https://linuxize.com/post/how-to-install-gradle-on-ubuntu-18-04/

0 голосов
/ 07 марта 2019

В моем случае переменная JAVA_HOME была установлена ​​на /usr/lib/jvm/jdk-11.0.2/. Достаточно было сбросить переменную следующим образом:

$ export JAVA_HOME=

0 голосов
/ 02 февраля 2019

Поскольку distributionUrl по-прежнему указывает на старую версию, обновите оболочку, используя:

gradle wrapper --gradle-version 5.1.1

Примечание: используйте gradle, а не gradlew

0 голосов
/ 25 января 2019

В вашей системе есть два разных приложения Gradle.

  1. системный Gradle
    Это приложение вызывается gradle (arguments).

  2. gradle-wrapper
    gradle-wrapper специфичен для каждого проекта и может быть вызван только внутри каталога проекта с помощью команды ./gradlew (arguments),

Ваша общесистемная версия Gradle - 5.1.1 (как объяснил ОП в комментариях, команда gradle --version вернула версию 5.1.1).

Однако сбой является результатом вызова программы-обертки (./gradlew).Не могли бы вы проверить версию Gradle-оболочки вашего проекта?Для этого выполните ./gradlew --version в папке вашего проекта, в каталоге, где находятся файлы gradlew и gradlew.bat.

Обновление 1:
Поскольку запуск ./gradlew --version не удался, вы можете вручную проверить версию вашей оболочки, открыв файл:

(корневая папка проекта) /gradle/wrapper/gradle-wrapper.properties

с помощью простого текстового редактора.«Дистрибуция» внутри должна сообщить нам версию обертки.

Обновление 2: Согласно обновленному вопросу OP, версия gradle-wrapper - 4.1RC1.
Gradle добавлена ​​поддержка JDK 11 в Gradle 5.0 .Следовательно, поскольку 4.1RC не поддерживает JDK 11, это определенно является проблемой.

Очевидным способом было бы обновить gradle-обертку вашего проекта до версии 5.0.Однако перед обновлением попробуйте запустить gradle app:installDebug.При этом будет использоваться установленный в вашей системе Gradle, версия которого 5.1.1 и поддерживает Java 11. Посмотрите, работает ли это.Если это так, то ваш buildscript (файл build.gradle) не подвержен каким-либо критическим изменениям между v.4.1RC1 и v.5.1.1, и затем вы можете обновить свою оболочку, выполнив ее из командной строки в папке вашего проекта: gradle wrapper --gradle-version=5.1.1 [*].

Если gradle app:installDebug не работает правильно, возможно, вам нужно обновить скрипт сборки Gradle.Для обновления с v.4.1RC1 до 5.1.1 проект Gradle предоставляет руководство ( 1 , 2 ) с критическими изменениями и устаревшими функциями между второстепенными выпусками, так что вы можете обновитьпостепенно до последней версии.

В качестве альтернативы, если по какой-то причине вы не можете или не хотите обновлять свой скрипт сборки Gradle, вы всегда можете выбрать вариант понижения версии Java до версии, поддерживаемой Gradle 4.1RC1.

[*] Как правильно указано в другом ответе @lupchiazoem, используйте gradle wrapper --gradle-version=5.1.1 (а не ./gradlew, как я изначально разместил там по ошибке).Причина в том, что Gradle работает на Java.Вы можете обновить свою упаковку Gradle, используя любой работающий дистрибутив Gradle, либо установленный в вашей системе Gradle, либо сам Gradle-упаковщик.Однако в этом случае ваша оболочка несовместима с установленной версией Java, поэтому вам необходимо использовать общесистемный Gradle (он же gradle, а не ./gradlew).

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