今天使用javac命令突然报错:
E:\test>javac
‘javac’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
这个错误常比较见,一般是jdk安装和环境变量是否设置的问题,多篇文章和问答已经提供了解决方法。
但是我的问题不是这些。
①在cmd查看环境变量
E:\test>path
PATH=C:\Program Files\Java;\jdk1.8.0_221\bin;C:\Program\Files\Java;\jdk1.8.0_221\jre\bin;
这里仅显示和jdk有关的2项
前面 C:\Program Files\Java 是 %JAVA_HOME%
后面 \jdk1.8.0_221\bin 和 \jdk1.8.0_221\jre\bin 分别是 bin目录和 jre\bin目录
%JAVA_HOME% 应该分别和后2项的字符串直接拼接,但是被一个分号隔开了
②在图形界面查看环境变量
果然是!
JAVA_HOME内容最后多了个分号,所以没有拼接成功。
③于是双击打开 %JAVA_HOME% ,然而它并没有分号???
可能是项目列表会自动在最后一项加个分号??
anyway,这个界面看不到分号所以修改无效,相当于打开右侧的编辑选项之后的界面,主要是用来添加/删除条目的;
④正确做法:点击右侧编辑文本,在新的编辑界面可以看到并删除分号
⑤在cmd查看环境变量
E:\test>path
PATH=C:\Program Files\Java\jdk1.8.0_221\bin;C:\Program Files\Java\jdk1.8.0_221\jre\bin;
拼接成功!
再重新测试javac等指令,成功!