我运行了以下评论:
./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
17条答案
按热度按时间flmtquvp16#
在您的系统中有两个不同的gradle应用程序。
全系统渐变
此应用程序由调用
gradle (arguments)
.grad尔 Package 纸
gradle Package 器是特定于每个项目的,只能在项目目录中使用以下命令调用
./gradlew (arguments)
.您的系统范围的gradle版本是5.1.1(正如op在注解中解释的,运行命令
gradle --version
返回版本5.1.1)。但是,失败是调用gradle Package 器的结果(
./gradlew
). 你能检查一下你的项目的gradle Package 器版本吗?为此,执行./gradlew --version
在项目文件夹中,gradlew和gradlew.bat文件所在的目录中。更新1:
作为运行
./gradlew --version
失败,您可以通过打开以下文件手动检查 Package 器的版本:(项目的根文件夹)/gradle/wrapper/gradle-wrapper.properties
一个简单的文本编辑器。里面的“distributionurl”应该告诉我们 Package 器的版本是什么。
更新2:根据op的更新问题,gradle Package 器的版本是4.1rc1。
gradle在gradle5.0中增加了对jdk 11的支持。因此,由于4.1rc不支持在jdk 11上运行,这肯定是个问题。
显而易见的方法是将项目的gradle Package 器更新到5.0版本。
但是,在更新之前,请尝试运行
gradle app:installDebug
. 这将使用系统范围内安装的gradle,其版本为5.1.1,支持在java11上运行。如果这样做有效,则您的buildscript(文件build.gradle)不会受到v.4.1rc1和v.5.1.1之间任何中断更改的影响,然后您可以通过从项目文件夹中的命令行执行来更新 Package 器:gradle wrapper --gradle-version=5.1.1
[*].如果
gradle app:installDebug
如果无法正确执行,则可能需要升级gradle buildscript。为了从v.4.1rc1升级到5.1.1,gradle项目提供了一个指南(1,2),在次要版本之间提供了中断的更改和不推荐的特性,以便您可以逐步更新到最新版本。或者,如果出于某种原因不能或不想升级gradle buildscript,您可以选择将java版本降级到gradle 4.1rc1支持运行的版本。
[*]正如@lupchiazoem在回答中正确指出的,使用
gradle wrapper --gradle-version=5.1.1
(而不是./gradlew
正如我最初在那里发布的错误)。原因是gradle在java上运行。您可以使用任何可用的gradle发行版更新gradle Package 器,可以是系统范围内安装的gradle,也可以是gradle Package 器本身。但是,在这种情况下, Package 器与已安装的java版本不兼容,因此必须使用系统范围的gradle(aka)gradle
而不是./gradlew
).mi7gmzs617#
我有一个类似的问题:我的违约
gradle wrapper
是版本4.x,而Gradle5中增加了对更高版本java的支持。我已经更新了我的
gradlew
如下所述:https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:升级\u Packagetltd编号: