IntelliJ中Gradle HelloWorld项目抛出MultipleCompilationErrorsException的原因及解决方法
问题原因与解决方案
核心原因
你遇到的 org.codehaus.groovy.control.MultipleCompilationErrorsException 搭配 Unsupported class file major version 60 错误,本质是IntelliJ IDEA用于同步Gradle项目的Groovy运行环境不支持Java 16的字节码版本。
命令行运行正常说明你的本地Gradle 7.1 + Java 16环境是完全兼容的,但IntelliJ在自动生成同步脚本(就是那个临时的sync.studio.tooling1.gradle)时,使用的Groovy版本(或其依赖的JVM)无法处理Java 16编译的类文件,导致脚本编译失败。
分步解决方案
1. 强制IntelliJ使用本地安装的Gradle版本
很多时候IntelliJ默认会用自带的Gradle,而自带版本的Groovy可能没跟上Java 16的兼容节奏。你可以手动指定用本地的Gradle 7.1:
- 打开IntelliJ的设置:Windows/Linux是
File > Settings > Build, Execution, Deployment > Build Tools > Gradle;Mac是IntelliJ IDEA > Preferences > Build, Execution, Deployment > Build Tools > Gradle - 在
Gradle user home下方,选择Use Gradle from: 'Specified location',然后找到你本地安装Gradle 7.1的路径 - 确保
Gradle JVM选中你项目使用的Java 16.0.1 - 点击
Apply后,点击右上角的Gradle同步按钮重新同步项目
2. 更新IntelliJ IDEA到兼容版本
旧版本的IntelliJ对Gradle 7.x和Java 16的支持确实有坑,尤其是Groovy环境的适配。建议你升级到2021.2及以上版本——这个版本之后IDE对Gradle 7系列和Java 16的兼容性做了专门优化。
3. 显式指定项目的Groovy版本(如果需要)
如果你的项目里直接用到了Groovy,不妨在build.gradle里显式指定一个支持Java 16的版本,避免Gradle默认版本可能带来的兼容问题:
groovy { groovyVersion = '3.0.8' // 这个版本完全适配Java 16 }
添加后重新同步项目即可。
4. 清理IntelliJ缓存
缓存损坏也可能导致这种奇怪的同步错误,清理一下往往能解决:
- 打开
File > Invalidate Caches...(Mac是IntelliJ IDEA > Invalidate Caches...) - 选择
Invalidate and Restart,让IDE彻底清理缓存并重启 - 重启后重新同步Gradle项目
内容的提问来源于stack exchange,提问作者SyncMaster
相关产品推荐
相关产品推荐

