When working with the latest Gradle version with Java 10 on Linux, it fails to identify version number of Java as 10 as valid Java version. How to fix this problem on Linux machines ? Log details of the error here
And here is the complete error report (N.B. Running gradle --version
or gradle -v
also gives the same output :
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.
EDIT :
Output of gradle --stacktrace
FAILURE: Build failed with an exception. * What went wrong: Could not determine java version from '10'. * Try: Run with --info or --debug option to get more log output. * Exception is: java.lang.IllegalArgumentException: Could not determine java version from '10'. at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:70) at org.gradle.api.JavaVersion.current(JavaVersion.java:80) at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.assertUsingVersion(UnsupportedJavaRuntimeException.java:29) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:32) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:210) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:174) at org.gradle.launcher.Main.doAction(Main.java:33) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37) at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Output of 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)
Advertisement
Answer
You need to upgrade Gradle. Version 4.5.1 and later definitely support Java 10.
If you think you have 4.5.1 or later installed, but gradle -version
still won’t run, it’s possible that when you type gradle
at the command line, it’s still running an older version for some reason.
One common thing to do is alias gradle
to ./gradlew
, so that in the context of a Gradle project, you’ll use the wrapper Gradle rather than the system Gradle. This is usually helpful, but in a situation like this, it backfires. You should be able to determine the installed system Gradle with which
:
> which gradle /usr/local/bin/gradle > $(which gradle) -version ------------------------------------------------------------ Gradle 4.6 ------------------------------------------------------------ Build time: 2018-02-28 13:36:36 UTC Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c Groovy: 2.4.12 Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017 JVM: 10.0.1 ("Oracle Corporation" 10.0.1+10) OS: Mac OS X 10.13.4 x86_64
(I’ve elided some warnings about illegal reflective access, if you get those, don’t worry about them.)
If $(which gradle) -version
still won’t run, you need to upgrade the system gradle. But if it does, to update the Gradle wrapper, you can edit your build.gradle
—
task wrapper(type: Wrapper) { gradleVersion = '4.6' }
— and then use the system Gradle to rerun the wrapper
task:
> $(which gradle) wrapper Starting a Gradle Daemon (subsequent builds will be faster) BUILD SUCCESSFUL in 7s 1 actionable task: 1 executed > ./gradlew -version Downloading https://services.gradle.org/distributions/gradle-4.6-bin.zip ...................................................................... [etc.] ------------------------------------------------------------ Gradle 4.6 ------------------------------------------------------------ Build time: 2018-02-28 13:36:36 UTC Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c Groovy: 2.4.12 Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017 JVM: 10.0.1 ("Oracle Corporation" 10.0.1+10) OS: Mac OS X 10.13.4 x86_64