Mac环境IntelliJ导入项目提示JDK 18.0.1与Gradle 4.4.1不兼容
问题根因
你本地全局安装的Gradle 7.4.2没有被项目调用,导入的ud282是老旧项目,自带Gradle Wrapper配置,固定使用Gradle 4.4.1版本构建,该版本最高仅支持JDK 9,和你当前系统默认的JDK 18完全不兼容;同时IDEA中配置的Gradle运行JVM版本和项目要求不匹配,才触发了两条版本不兼容报错。
解决步骤
方案一:匹配项目原有环境(推荐,无额外兼容问题)
老项目优先对齐原始开发环境,避免升级Gradle带来的构建脚本语法兼容问题:
- 本地安装JDK 8,该版本和Gradle 4.4.1完全兼容,也是ud282项目原始开发使用的JDK版本
- 打开IDEA设置,进入
Build, Execution, Deployment > Build Tools > Gradle配置页:- 将
Gradle JVM选项修改为你刚安装的JDK 8路径,该配置优先级高于系统全局JAVA_HOME,不会影响其他项目使用高版本JDK - 确认
Use Gradle from选项选中Gradle Wrapper,不要指定本地全局安装的Gradle 7.4.2,避免跨大版本出现构建脚本语法错误
- 将
- 保存配置后触发项目重新构建即可
- 如果改完仍报版本错误,点击IDEA菜单
File > Invalidate Caches...清除缓存重启后再重试
方案二:升级项目Gradle版本适配高版本JDK(不推荐,需额外改构建脚本)
如果不想额外安装JDK 8,可升级项目Wrapper版本适配当前JDK 18:
- 打开项目根目录下
gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl字段,将Gradle版本替换为7.4.2(该版本兼容JDK 18) - 重新加载项目等待Gradle同步完成
- 注意:Gradle 4.4.1到7.x版本跨度极大,大量旧版构建API被移除,同步时大概率出现build.gradle语法报错,需要手动逐个修复废弃配置、升级对应插件版本,排错成本较高。
额外排查点
- 不要修改系统全局的JAVA_HOME变量指向JDK 8,否则会导致其他需要高版本JDK的项目运行异常,单独给当前项目在IDEA中指定Gradle JVM即可
- 如果需要在终端执行项目构建,进入项目根目录后通过临时指定JDK路径的方式调用
./gradlew命令,无需改动全局环境变量
内容的提问来源于stack exchange,提问作者Lama Alsharyan
相关产品推荐
相关产品推荐

