-
安装完Java后,我们通过cmd命令提示符,输入Java后可以显示正确的命令提示,但是输入javac后却经常提示不是内部或外部命令,如下图。那么这是什么原因导致的呢?
-
具体由以下两个原因导致:
一是环境变量配置有问题
二是在安装JDK过程中出现的问题,jdk和jre目录重叠了
-
对于第一个原因,可以通过网上百度查找。可以查到很多环境配置的相关内容。
按网上说的配置方法,新增JAVA_HOME,CLASSPATH变量,再添加到path里就可以。但略显麻烦,并且容易出错。
其实根本性的就是要在运行javac时,让系统指导要去哪里找到该命令,因此我们只要把javac所在的路径添加到path中即可。
具体的操作方法如下:
找到jdk安装目录下的bin目录(注意是包含javac.exe的bin,不要跟别的搞混了)的路径,然后复制路径,将其增加到现有的path变量中就可以了。
即直接把C:\Program Files\Java\jdk1.8.0_221\bin(这里填写自己的目录)添加进到path后面就好了(直接使用原始路径复制添加)。
参考如下图:
-
按上面操作后,正常大部分电脑,就可以通过WIN+R,调用命令提示符通过命令javac,查证javac正常运行。如下图,即javac可正常运行
-
但有部分用户还不行,运行javac后还是显示的不是内部或外部命令,这又是什么情况呢?这时我们可以排查下是不是第二个原因导致的
-
第二原因,通过查看C:\Program Files\Java\jdk1.8.0_221\bin的文件夹,看其内部下是否都是exe文件,且javac.exe文件也在该文件夹内。参考下图。
不是这种情况,就是目录重叠了,则需要卸载重装。如果要自定义文件夹安装,最好分别新建两个文件夹,一个jdk,一个jre对应安装
- 第二个原因也排除了,环境也正确配置了还是无法正常运行javac。那么又是什么问题导致的,其实还是环境变量的原因。
环境变量具体的分成两个,一个是用户变量,一个是系统变量。
一般我们配置环境变量时,都是配置的是系统变量,但是一部分用户使用的是公司内的电脑,该电脑是有用户管理的,单单配置的系统变量,是无法保证当前你现在的用户账户可以使用的。
这时就要对当前的用户变量里,添加或者更改path的内容,将之前的javac路径添加进去,就能解决这个问题了。
后面可以两个变量的path都将javac路径目录添加进去即可,这样就能保证所有用户都能使用。
参考如下图:
END
注意事项
-
第一个问题,注意两个环境变量的不同
-
防止出现第二个问题,可以直接默认安装