環境
- Mac BigSir11.4
- JDK11
- SpringBoot2.5.6
ソース
build.gradle
plugins { id 'org.springframework.boot' version '2.5.6' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' runtimeOnly 'mysql:mysql-connector-java' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' } test { useJUnitPlatform() } task npmRunBuild() { doFirst{ if (!file("${rootDir}/src/frontend/node_modules").exists()) { "npm --prefix ${rootDir}/src/frontend install ${rootDir}/src/frontend" .execute() .waitForProcessOutput(System.out, System.err) } else { "npm --prefix ${rootDir}/src/frontend run build" .execute() .waitForProcessOutput(System.out, System.err) } } } processResources { dependsOn npmRunBuild }
上記のgraldeファイルをgradle buildコマンドでビルドを行ったところ下記エラーが出てきたので対処
FAILURE: Build failed with an exception. * Where: Settings file '/Users/yudainoda/Documents/workspace-STS/TempleWorkSystemProto/settings.gradle' * What went wrong: Could not compile settings file '/Users/yudainoda/Documents/workspace-STS/TempleWorkSystemProto/settings.gradle'. > startup failed: General error during conversion: Unsupported class file major version 61 java.lang.IllegalArgumentException: Unsupported class file major version 61
調査
上記エラーに該当する事例は見つけられなかった。
似ていたのはこのあたり。
https://yusuke.blog/2021/03/04/2942
内容としてはGradle6系だとJava16以降のバージョンをサポートしていないということでした。
ただ、自分の使用しているJavaのバージョンは11かつGradleは7系だったので、該当せず。
gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
なので、一旦バージョンに起因するエラーの説を疑い、下記のように書き換えプロジェクトの再び読み込みを行った。
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
結果
上記対応で問題なく起動できた。
Gradleのバージョンは新しいものに似たようなバグの報告などもあったので、今後は安定した二、三個古いバージョンのものを使うべしと思った。