配置含org.springframework.boot插件的build.gradle时遇PermittedSubclasses requires ASM9错误
解决"PermittedSubclasses requires ASM9" Gradle构建错误
针对你遇到的Spring Boot 3.0.5项目构建报错问题,以下是可行的解决步骤:
1. 升级Gradle版本到兼容版本
Spring Boot 3.0.x系列要求Gradle版本至少为7.5,低版本Gradle自带的ASM库版本低于9,无法处理Spring Core 6.x用到的Java 17字节码指令。
- 修改项目根目录下
gradle/wrapper/gradle-wrapper.properties中的distributionUrl,例如替换为:distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip - 或者在IntelliJ IDEA中,通过
File > Settings > Build, Execution, Deployment > Build Tools > Gradle选择7.5及以上的Gradle版本。
2. 强制锁定ASM依赖版本
如果项目中存在依赖冲突导致ASM版本被拉低到9以下,在build.gradle中添加强制依赖配置:
configurations.all { resolutionStrategy.force 'org.ow2.asm:asm:9.5' resolutionStrategy.force 'org.ow2.asm:asm-commons:9.5' }
3. 彻底清理缓存并重新构建
执行更彻底的清理操作,确保缓存没有残留问题:
- 在IntelliJ中点击
File > Invalidate Caches...,选择Invalidate and Restart - 终端运行命令:
./gradlew clean build --refresh-dependencies
错误原因说明
Spring Boot 3.0.5依赖的Spring Core 6.0.7使用了Java 17引入的PermittedSubclasses字节码特性,而ASM 8及更早版本不支持该特性。当Gradle版本过低或依赖树中ASM版本被降级时,就会触发这个错误。
内容的提问来源于stack exchange,提问作者sritej_kr
相关产品推荐
相关产品推荐

