这几天遇到学生在问jdk的环境变量配置问题,正好闲下,就来写写这个东西。
首先,我们先来理解"环境变量"这四个字,重点在"变量"这两个字,何为变量?就是一个可变的值。而环境,指电脑系统程序运行环境,在"我的电脑"->右键->高级系统设置->高级->环境变量里面(win8.1系统)。
好,接下来,讲讲需要配置哪些。
1、JAVA_HOME
JAVA_HOME这个一般需要用户去新建一个,它指向JDK的安装目录,然后写法如下:
变量名:JAVA_HOME
变量值:jdk安装路径,比如:C:\Program Files\Java\jdk1.7.0_17
为什么这么写?作用是什么?
a.回到上文,环境变量,这个就是变量。举个例子,如果我们现在用1.7的jdk,然后哪一天没有1.7的了,要升级1.8的jdk,那么我们只需要改变这个值就行了,而不需要改变其余两个值(这是后话)。
b.为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.7.0_17目录里,则设置JAVA_HOME为该目录路径,那么以后你要使用这个路径的时候,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;
c.第三方软件会引用约定好的JAVA_HOME变量,不然,你将不能正常使用该软件(PS:这是我从前端走过来的血的教训....),要是某个软件不能正常使用, 不妨想想是不是这个问题.
2、CLASSPATH
CLASSPATH这个一般也需要用户去新建一个,它指定类搜索路径。
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
为什么这么写?作用是什么?
a.首先,很多同学都说,这个现在不配置没事,没错,我承认,从jdk1.6开始,不配置CLASSPATH确实可以,因为之前配置这个主要是因为JVM就是通过CLASSPATH来寻找类的,不配置的话找不到类,就会报错,现在jre已经集成。但是个人强烈建议,要加CLASSPATH,做到向下兼容。
b.变量设置的目的是为了程序能找到相应的".class"文件,而且一定要记得加上变量值前面的 .; ,不然你要去写一个非常长的路径名,何必呢,所以加上。
c.其余两个,就是去找类啦。
3、PATH(有些同学电脑里面是小写,但是建议改成大写,符合规范)
PATH一般不需要用户自己新建,系统会有,它指定命令的路径。
变量名:PATH
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意:一定要写在最前面,特别是先安装了jdk,再安装oracle的同学,一定要记得装好oracle之后,把它写在最前面)
为什么这么写?作用是什么?
a.方便。配置好PATH之后,去运行java文件,就不需要加那个又臭又长的路径了,因为我们去运行java文件,都是用 jdk->bin-> java.exe和javac.exe,或者使用里面的其他的指令,不然,你想用它,就老老实实使用绝对路径吧- -!(PS:估计是个人都受不了)。
文字性的,可能描述不太清楚,有什么问题欢迎来讨论
好啦,就这些,共勉