原因:最近由于重装了系统,导致需要重新配置一下jdk环境,但是在配置完成之后,发现java和java -version 都可以正常识别,但是只有javac不能识别,如下图所示:
研究过程:在网上查了很多资料,大部分是说检查PATH路径是否有错误,包括在管理员权限下使用 set path="%JAVA_HOME%\bin" 这些方法,结果全都失败了。
思考原因;配置使用的jdk是直接从其他电脑上拷贝过来的只有jdk,但是过去在下载jdk安装包的时候,安装过程除了安装了一个jdk还有一个jre都是在C盘\java目录下,我本来以为这个jre和jdk中的jre是一样的,然后直接拷贝到同一个目录下了,但是无法识别javac,但其实单独出来的jvm代表着独立的运行环境,和jdk中的不完全一样。
解决办法:去jdk官网下载一个安装包https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html,然后重新安装jdk和jre文件,或者拷贝时候,把jre也拷贝进去,重新配置环境变量即可
环境变量配置:
因为jdk5以上的版本只用配置JAVA_HOME和PATH就行了
1.在系统变量新建JAVA_HOME
变量值根据自己的路径配置;
C:\Program Files\Java\jdk1.8.0_211
2.在Path变量后面添加(注意前方是否有;)
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
配置完成后验证:
另外,我在测试过程中把jdk安装在其他路径下,不能识别java但是可以实现javac
解决办法:安装jdk过程中,安装路径是C盘,如果修改路径的话,需要删除一些文件
文件目录为:C:\Program Files (x86)\Common Files\Oracle\Java\javapath
删除下列三个文件即可。