'java'不是内部或外部命令解决方法

最近换了一台电脑,需要重新配置开发环境,结果卡在了第一步:jdk的环境配置上了。

本人也是网上找到了各种资料教程,大部分的环境配置问题都可以通过这些资料教程解决,然而我是属于少部分。所以,建议先检查一下你环境变量的配置,比如path有没有配置,有没有写错,“JAVA_HOME”值有没有写错,引用时变量名有没有写错,以及标点符号等问题,具体可以参照教程,这里我就不多说了,给大家一个地址吧:http://blog.csdn.net/u013566425/article/details/24984495,这位大哥写得很详细,相信可以解决多数人的问题,如果很不幸你是少部分,那么也许你需要仔细看看下面的内容了。

我的问题症状是,cmd中输入java、java -version都能正常显示,但是输入javac时就会提示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我的环境配置是这样的:

细心的你能发现什么问题吗?

仔细看你会发现,我的JAVA_HOME变量配置在用户变量里面,而我的path配置在系统变量里面,而且此处系统变量的值引用了JAVA_HOME变量,所以你能猜出什么问题了吗?试着在系统变量里面新建一个一样的JAVA_HOME,保存退出。然后试试cmd输入javac,是不是成功了?如果是,那就恭喜你了。
那么,为什么会这样呢?首先,在环境变量中新建‘JAVA_HOME’变量是为了引用,path中用‘%’包裹的部分就是引用,这样即使安装位置变了,只需要改JAVA_HOME就可以完成配置,很方便。
但是为什么我之前的配置无法引用到呢?那是因为我JAVA_HOME新建位置在当前的用户变量中,但我的path配置在系统变量中。系统变量去引用用户的变量是引用不到的,这就类似于java的局部变量与全局变量的区别,在局部变量以外的区域是无法引用到局部变量的。要想该变量能随处引用,配成全局的就好了。

你可能感兴趣的:('java'不是内部或外部命令解决方法)