gradle 4.9 - gradlew 和 java 10 仍然得到:无法确定来自 '10' 的 java 版本

gradle 4.9 - gradlew and java 10 still get: Could not determine java version from '10'

gradlew 似乎仍然存在 java 10 的问题(请参阅下文)。

我删除 gradlew/,用 4.9 做一个 gradle 包装器,然后尝试 gradlew -v,我收到一些警告并且:无法确定 java 来自“10”的版本。

有人有解决方法吗?

编辑:gradle-wrapper 属性说:

D:\ray\dev\conradapps\rabbit\gradle\wrapper>cat gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

但是我只是用4.9创建的,所以我很困惑:(

edit2:@Aris 建议查看构建文件,果然,我在那里有一个 "task wrapper(type: Wrapper) { gradleVersion = '2.14' }"。

edit3:从构建文件中删除包装器任务并通过执行 gradle 包装器创建另一个工作正常!

java 版本报告:

D:\ray\dev\conradapps\rabbit>java -version
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)

D:\ray\dev\conradapps\rabbit>java --version
java 10 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)

D:\ray\dev\conradapps\rabbit>




D:\ray\dev\conradapps\rabbit>gradle -v

Welcome to Gradle 4.9!

Here are the highlights of this release:
 - Experimental APIs for creating and configuring tasks lazily
 - Pass arguments to JavaExec via CLI
 - Auxiliary publication dependency support for multi-project builds
 - Improved dependency insight report

For more details see https://docs.gradle.org/4.9/release-notes.html

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass
 (file:/D:/dev/gradle-4.9/lib/groovy-all-2.4.12.jar) to method java.lang.Object.
finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groov
y.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect
ive access operations
WARNING: All illegal access operations will be denied in a future release

------------------------------------------------------------
Gradle 4.9
------------------------------------------------------------

Build time:   2018-07-16 08:14:03 UTC
Revision:     efcf8c1cf533b03c70f394f270f46a174c738efc

Kotlin DSL:   0.18.4
Kotlin:       1.2.41
Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          10 ("Oracle Corporation" 10+46)
OS:           Windows 8.1 6.3 amd64

D:\ray\dev\conradapps\rabbit>ls -F
165705.JPG*              getalllogfiles.bat*     loggger.dtd*
IMG_2708.jpg*            getlogfiles.bat*        pull.bat*
bin/                     gradle/                 run.bat*
build/                   gradlew*                runlogserver.bat*
build.gradle*            gradlew.bat*            save/
chainsaw.bat*            here.sh*                settings.gradle*
chainsawconfig.xml*      histories.WinMerge*     src/
controller.bat*          jlogviewer_1_0_0d.jar*  t1.bat*
deleteemptylogfiles.sh*  junk.bat*               testpb.bat*
deletelogfiles.bat*      lib/                    tmp.jar*
eyedocs.jpg*             listalllogfiles.bat*
filterLogs.sh*           log/

D:\ray\dev\conradapps\rabbit>rm -r gradle/

D:\ray\dev\conradapps\rabbit>gradle wrapper
Starting a Gradle Daemon (subsequent builds will be faster)

Deprecated Gradle features were used in this build, making it incompatible with
Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.9/userguide/command_line_interface.html#sec:comman
d_line_warnings

BUILD SUCCESSFUL in 30s
1 actionable task: 1 executed
D:\ray\dev\conradapps\rabbit>gradlew -v

FAILURE: Build failed with an exception.

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

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

D:\ray\dev\conradapps\rabbit>

即使您将本地 Gradle 发行版升级到新版本,您的 gradle 包装器使用的版本仍然很旧,这意味着它不支持新的 Java 版本.您的 gradlew.properties 文件和 build.gradle 包装器任务的版本可以证明这一点。

修复 gradle 包装任务的 gradle 版本应该可以解决这个问题。然后您应该能够重新运行包装器任务并创建正确的包装器。