Java 8编译报错:无法定位支持javac的Java运行时如何解决
问题根因
当前系统安装的仅为Java SE 运行环境(JRE),JRE只支持运行已经编译完成的Java程序,本身不携带javac这类代码编译工具,编译Java源码必须安装完整的Java开发工具包(JDK)。你执行java -version返回的结果中明确标注了Java(TM) SE Runtime Environment,直接证明当前环境缺失编译所需的组件。
排查解决步骤
- 先卸载当前系统里安装的独立JRE,避免后续环境变量优先级冲突导致命令识别异常
- 安装对应操作系统版本的Java 8 update 333 完整JDK包,按照安装向导默认流程走完即可
- 配置系统环境变量
- 新建
JAVA_HOME系统变量,值填写JDK的安装根目录:Windows默认路径一般是C:\Program Files\Java\jdk1.8.0_333,macOS默认路径一般是/Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home - 编辑系统的
Path变量,新增%JAVA_HOME%\bin(Windows环境)或$JAVA_HOME/bin(macOS/Linux环境)条目
- 新建
- 如果之前已经安装过对应版本的JDK仍然报这个错,直接检查
Path变量里的条目顺序,把JDK对应的bin目录路径挪到所有JRE相关路径的前面,避免系统优先识别到不带编译工具的JRE环境 - 配置完成后打开新的终端窗口做校验
- 执行
javac -version,如果返回结果为javac 1.8.0_333,说明编译工具已经可以正常调用,此时再执行javac 你的HelloWorld源码文件名.java就能正常完成编译。
- 执行
注意:一定要新开终端验证,旧终端不会加载刚更新的环境变量配置。
内容的提问来源于stack exchange,提问作者Oliver
相关产品推荐
相关产品推荐

