Eclipse导入Gradle项目报The supplied phased action failed异常
问题描述
在Eclipse中构建Gradle项目时触发异常:导入现有目标项目时弹出The supplied phased action failed with an exception报错,新建项目可正常构建,相关报错与配置信息如下:
- Eclipse工作区报错界面:

- 终端执行
gradle -v输出的Java、Gradle版本信息:
- 项目
build.gradle核心配置:
if(JavaVersion.current() != JavaVersion.VERSION_1_8) throw new GradleException("This project requires Java 8, but it's running on "+JavaVersion.current()) sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8
- Eclipse错误视图完整报错信息:
The supplied phased action failed with an exception. A problem occurred configuring root project 'IntroToUnitTesting'. A problem occurred evaluating root project 'IntroToUnitTesting'. This project requires Java 8, but it's running on 18
问题根因
报错信息已经明确指向版本不匹配问题:Eclipse的Gradle插件执行构建时调用的是Java 18运行环境,但项目构建脚本强制要求Gradle必须运行在Java 8环境下,触发了脚本中预先定义的异常抛出逻辑。
注意:终端执行gradle -v显示的是系统全局Gradle命令绑定的Java版本,和Eclipse内部Gradle插件使用的JVM版本是独立配置,二者不互通,这也是终端版本看似正常、新建项目可构建,但导入该项目报错的原因。
解决步骤
- 打开Eclipse全局配置:顶部菜单栏选择
Window->Preferences,找到Gradle配置项,定位到Gradle JVM设置栏 - 若下拉选项中没有JDK 8,先进入
Java->Installed JREs配置页,将本地安装的JDK 8添加到Eclipse的JRE列表中,再回到Gradle配置页,选中JDK 8作为Gradle构建的运行时JVM,点击Apply保存 - 校验项目编译配置:右键目标项目选择
Properties,分别检查Java Build Path下的JRE系统库为JDK 8、Java Compiler页的编译合规级别为1.8 - 右键项目选择
Gradle->Refresh Gradle Project重新加载构建,报错即可消除
内容的提问来源于stack exchange,提问作者Basma Ashraf
相关产品推荐
相关产品推荐

