環境

ソース

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

なので、一旦バージョンに起因するエラーの説を疑い、下記のように書き換えプロジェクトの再び読み込みを行った。