現在、安定リリースであるGradle 6.8.xはJava16に対応しておらず、ビルドすると以下のような例外が出ます。
FAILURE: Build failed with an exception. * Where: Build file '/Users/yusuke/yabumi/core/build.gradle' * What went wrong: Could not compile build file '/Users/yusuke/yabumi/core/build.gradle'. > startup failed: General error during semantic analysis: Unsupported class file major version 60 java.lang.IllegalArgumentException: Unsupported class file major version 60 at groovyjarjarasm.asm.ClassReader.(ClassReader.java:196) at groovyjarjarasm.asm.ClassReader.(ClassReader.java:177) at groovyjarjarasm.asm.ClassReader.(ClassReader.java:163) at groovyjarjarasm.asm.ClassReader.(ClassReader.java:284) at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81) at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251) at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189) at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169) at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125)
この現象は昨年から報告されています。まだJava16はサポートしていないよ、ということでGradle 7.0で正式サポートとなるようです。
Support Java 16 #13481
Gradle 7.0はまだ正式リリースされていませんが、Gradle-wrapper.propertiesのdistributionUrlを以下のように指定するとこの記事執筆時点で最新のGradle 7.0-20210303140106+0000にアップデートできます。
distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-7.0-20210303140106+0000-bin.zip
distributionUrlを書き換えるだけ。
gradle -versionでバージョンを確認できます。
./gradlew -version Initialized native services in: /Users/yusuke/.gradle/native ------------------------------------------------------------ Gradle 7.0-20210303140106+0000 ------------------------------------------------------------ Build time: 2021-03-03 14:01:06 UTC Revision: c8b38a56bf4c2229d258badef4a8f408eaf71c9c Kotlin: 1.4.31 Groovy: 3.0.7 Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020 JVM: 16 (Oracle Corporation 16+36-2231) OS: Mac OS X 10.16 x86_64
これでJava16でもビルドできるようになります。
Comments are closed.