Windows 8.1下javac -version可用但Cordova无法识别问题求助
解决Cordova Build Android时的JAVA_HOME错误
这个问题我之前帮朋友排查过,核心原因就是你的JAVA_HOME环境变量格式不符合Cordova的要求!
问题根源
你设置的JAVA_HOME是C:\Program Files\Java\jdk1.8.0_161;C:\Program Files\Java\jdk1.8.0_161\bin,但Cordova要求JAVA_HOME只能指向JDK的根目录,不能带上bin子路径,也不能用分号分隔多个路径。
你手动运行javac -version正常,是因为系统的Path变量里已经包含了JDK的bin路径,所以能直接找到命令;但Cordova会基于JAVA_HOME拼接路径去调用javac,错误的JAVA_HOME会导致它生成无效的命令路径,进而抛出错误。
修复步骤
修正JAVA_HOME环境变量
- 右键点击「此电脑」→选择「属性」→点击「高级系统设置」→切换到「环境变量」标签页
- 在「系统变量」列表里找到
JAVA_HOME,双击编辑 - 将变量值修改为:
C:\Program Files\Java\jdk1.8.0_161(只保留JDK根目录,去掉后面的;C:\Program Files\Java\jdk1.8.0_161\bin) - 同时检查「系统变量」里的
Path,确保包含%JAVA_HOME%\bin(如果没有就添加,这样系统能全局找到JDK工具)
验证并重新测试
- 关闭所有已经打开的命令提示符、PowerShell或IDE终端窗口(旧窗口不会加载新的环境变量)
- 重新打开一个终端窗口,运行
echo %JAVA_HOME%确认路径正确 - 再运行
javac -version确认命令依然正常 - 最后回到你的Cordova项目目录,执行
cordova build android应该就能正常运行了
内容的提问来源于stack exchange,提问作者Letokteren
相关产品推荐
相关产品推荐

