执行ionic cordova build android报错JAVA_HOME无效如何解决?
问题背景
执行以下Ionic安卓正式版本打包命令时出现报错:ionic cordova build android --prod --release
报错详情如下:
Build at: 2021-07-06T09:28:20.394Z - Hash: 933d6e73ee2cc923ca07 - Time: 62511ms > cordova.cmd build android --release Checking Java JDK and Android SDK versions ANDROID_SDK_ROOT=C:\Users\daees\AppData\Local\Android\Sdk (recommended setting) ANDROID_HOME=C:\Users\daees\AppData\Local\Android\Sdk (DEPRECATED) Failed to run "javac -version", make sure that you have a JDK version 8 installed. Your JAVA_HOME is invalid: "C:\Program Files"\Java\jdk1.8.0_291 [ERROR] An error occurred while running subprocess cordova. cordova.cmd build android --release exited with exit code 1. Re-running this command with the --verbose flag may provide more information.
相关环境变量配置截图:
解决方案
- 修复JAVA_HOME环境变量值:报错日志已经明确显示识别到的JAVA_HOME路径格式异常,引号只包裹了路径的前半段。打开系统环境变量配置面板,找到JAVA_HOME变量,删除值前后多余的双引号,直接填写完整路径
C:\Program Files\Java\jdk1.8.0_291即可,Windows系统环境变量中带空格的路径不需要额外加引号,多余的引号会导致路径识别失败。 - 生效并验证配置:修改完成后重启命令行终端,必要时重启系统保证环境变量全局生效。在终端分别执行
javac -version和echo %JAVA_HOME%,确认输出为JDK 8的版本号、以及路径输出无多余引号格式正确。 - 调整Path变量优先级:打开系统Path变量,确认
%JAVA_HOME%\bin的配置项排在其他Java相关路径的前面,避免其他软件自带的Java版本优先级更高导致冲突。 - 临时生效测试:如果不想立刻重启系统,可以在当前要执行打包命令的终端中先执行
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_291临时设置当前会话的JAVA_HOME,再执行打包命令验证问题是否解决。
内容的提问来源于stack exchange,提问作者Sadaf Shafi
相关产品推荐
相关产品推荐

