开发java也一年多了,昨日一次偶然的机会,想在dos命令下执行一个程序,发现在 命令行输入 javac Test.java的时候,竟然提示javac不是内部命令,
之后输入 java ,也提示不是内部命令,此时我的第一想法就是我的jdk是不是安装出错了,然 我cd 到 jdk 的安装目录,直接执行java和javac是能出现目录的,
jdk没问题,那肯定是环境配置有问题了,那我的环境变量的配置如下:
JAVA_HOME:D:\Program Files\Java\jdk1.7.0_80
CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
按理说这样已经没有任何问题了,不自信,在网上又搜了一个教程,按照上面的步骤,一步一步的重新配了一遍,结果打印 java还是提示不是内部命令,
当时就纳闷了,又把jdk重新卸载了,装了一遍,又!又!又配了一遍环境变量,输出还是不行。
很是折腾,很少遇见这样的问题,然 最后还是看出了 一点端倪,发现我跟教程 不同点是,他们的java_home , classpath,path,
要么都在用户变量里面,要不都在系统变量里面,而我 竟然把java_home配置到用户变量里面,
path和classpath配置到系统变量里面,这 系统怎么也找不到jdk 的安装目录啊,最后改过来,发现ok了。
既然说到用户环境变量和系统环境变量,下面就说一说他们的区别及使用:
一、说简单点,他们就都是环境变量,一个是只对当前电脑的用户起作用,一个是对所有的用户起作用。
二、配置jdk的时候,要么把变量都配置到用户变量上,要么都配置到系统变量上,像我刚才的那种情况,配置java_home在我的用户变量上,
当执行系统变量的path下,并不能识别%JAVA_HOME%,所以也就不能执行bin目录下的java.exe 了,
虽然是个很新手的问题,但是自己没有注意到细节,导致出现了问题,以此博客,勤励自己!!!