Skip to content

resolveMainClassName fails when building with Gradle using Java 22 #40074

@wilkinsona

Description

@wilkinsona

It fails like this:

Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 66 at org.springframework.asm.ClassReader.<init>(ClassReader.java:199) at org.springframework.asm.ClassReader.<init>(ClassReader.java:180) at org.springframework.asm.ClassReader.<init>(ClassReader.java:166) at org.springframework.asm.ClassReader.<init>(ClassReader.java:287) at org.springframework.boot.loader.tools.MainClassFinder.createClassDescriptor(MainClassFinder.java:254) at org.springframework.boot.loader.tools.MainClassFinder.doWithMainClasses(MainClassFinder.java:136) at org.springframework.boot.loader.tools.MainClassFinder.findSingleMainClass(MainClassFinder.java:109) at org.springframework.boot.gradle.plugin.ResolveMainClassName.findMainClass(ResolveMainClassName.java:145) at org.springframework.boot.gradle.plugin.ResolveMainClassName.resolveMainClassName(ResolveMainClassName.java:139) at org.springframework.boot.gradle.plugin.ResolveMainClassName.resolveAndStoreMainClassName(ResolveMainClassName.java:124) 

This can be worked around by configuring the application's main class name:

springBoot { mainClass = 'com.example.ExampleApplication' }

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions