jdk12'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaofen_7/article/details/89706952

前言:

安装JDK12遇到的问题以及学习过程,
我第一次用网上的安装办法,下载EXE后,配置好三个环境变量后运行,不行。

解决过程:

问题1:安装后javac命令运行时报错
jdk12'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
思路解决1:

是不是环境变量的问题,一开始我配置了三个环境变量分别是JAVA_HOME,CLASSPATH,PATH,检查环境变量,发现 CLASSPATH环境变量中,路径下就没有这个tool.jar,会不会是因为这个原因所以不对,所以开始查<JDK安装后 没有tools.jar 和dt.jar包的解决办法>

在这里插入图片描述
查的过程中,网上的资料解释,在装JDK的过程中会两次选择路径,一次是选择JDK的安装路径,一个是选择Jre的安装路径。但我在安装exe的时候确实只看到了为安装JDK选择路径的过程,没有给jre选择路径的过程,所以,这个命令不能运行是不是因为我的jre没有装,而且在很多资料上看到有的JDK和Jre还专门是两个文件分别存放的。所以开始查
<装完JDK为什么没有jre>
后来查的结果:造成原因是JDK11之后没有直接的jre,要用户选择jre模块
链接:java jdk12,安装路径没有jre文件夹

所以手动安装jre模块
点击shift+右键,在此处打开命令窗口,然后执行如下命令:
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
在这里插入图片描述
执行完命令就可以看到
在这里插入图片描述
猛然发现第三个path环境变量里的jre居然是这样配置上去的,而我先写了路径,但系统在我没有装jre之前,path环境变量根本就找不到值的,所以报了错,接着,又运行试了试,发现居然javac命令可以执行了,但CLASSPATH命令还是错的,怎么就给运行成功了,就懵逼了。。。

在查资料的过程中,(网上有人说jdk9以后可以不用配置classpath变量 链接:jdk12图文安装教程(win10)),
在这里插入图片描述然后我就删掉,运行,发现没有报错。

解决思路2:虽然问题解决了,但我还是好奇,为什么之前好多人要开一个新的环境变量配置tools.jarhe和 dt.jar。

后来,查到的结果,也解决了我之前的疑惑
在这里插入图片描述
安装之后,找不到tools.tar和dt.jar是因为安装JDK和JRE时选择了同一个目录,JRE中的包覆盖了JDK包中的内容,所以就找不到JDK包中的tools.jar和dt.jar包。

在dos环境下运行java是来自JRE环境,走的是,一定要把path的环境变量配好。
在这里插入图片描述
在这里插入图片描述
参考链接:

  1. 安装java之后,找不到tools.jar 和dt.jar
  2. dos窗口下运行java可以,运行javac却报错

猜你喜欢

转载自blog.csdn.net/zhaofen_7/article/details/89706952