Ubuntu 18.04下OpenJDK 10能否用于Ionic开发?构建遇版本校验失败
解决Ionic Cordova Build Android时的JDK版本错误及OpenJDK 10兼容性问题
一、先解决你遇到的build报错问题
你看到的Requirements check failed for JDK 1.8 or greater错误有点误导——虽然提示需要1.8或更高,但实际上早期版本的Cordova和Android Gradle插件对JDK 9+(包括JDK10)的兼容性并不好,即使你的JDK版本高于1.8,也会触发这个检查失败的问题。
解决步骤如下:
- 安装OpenJDK 8:在Ubuntu 18.04上执行命令:
sudo apt update && sudo apt install openjdk-8-jdk - 切换系统默认JDK到1.8:
运行以下命令选择默认的Java版本:
同理,对sudo update-alternatives --config javajavac也做相同配置:
在弹出的选项中选择对应OpenJDK 8的序号即可。sudo update-alternatives --config javac - 更新JAVA_HOME环境变量:
编辑你的~/.bashrc或~/.profile文件,添加或修改:
保存后执行export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64source ~/.bashrc(或对应文件)使配置生效,然后用echo $JAVA_HOME确认路径正确。 - 重新执行build命令:
现在再运行:
应该就能通过JDK版本检查了。ionic cordova build android --prod --release
二、Ubuntu环境下能否用OpenJDK 10做Ionic开发?
结论:不推荐,甚至不建议尝试,原因如下:
- OpenJDK 10本身是一个过渡性的短期支持版本(Oracle和OpenJDK社区都已经停止对它的支持),生态兼容性很差。
- Ionic依赖的Cordova和Android Gradle插件,在JDK 9+的支持上起步较晚:早期版本的Cordova直接会拒绝对JDK9+的支持,即使是新版Cordova,也更推荐使用JDK 8或JDK 11(长期支持版本)。
- Android官方的编译工具链,直到Android Gradle Plugin 7.0+才开始正式支持JDK 11,而对JDK 10的支持几乎没有专门优化,很容易出现编译错误、依赖冲突等问题。
如果想升级JDK版本,更稳妥的选择是直接跳到OpenJDK 11(长期支持版本),同时确保你的Cordova版本在10.x以上,Android Gradle Plugin升级到7.0+,但这需要同步升级项目中的相关依赖,而JDK 10完全没有必要作为过渡版本使用。
内容的提问来源于stack exchange,提问作者Abhay
相关产品推荐
相关产品推荐

