[学习笔记]Java 的环境变量
Aug 7, 2009
首先了解一下什么是环境变量(Environment variables)。环境变量就是用来设置计算机中运行的processes的运行环境的一些通用或者自定义的变量,我们可以通过它们来configure计算机中运行的processes.
既然环境变量是对系统或用户应用程序的运行环境进行设置的变量, 那么它们的功能当然和具体的环境变量相关了. 偶的计算机上有几个常用的环境变量, 具体google一下:
%TEMP% and %TMP% :
这2个变量是DOS环境变量, 设置了临时文件存储的路径(set the path to the directory where temporary files should be stored).
%WinDir%:
环境变量WinDir是System path variable,是Windows的路径(for example, C:\WINDOWS)
哦, 好像很简单的也,现在回到我们JAVA的环境变量的设置. 常用的JAVA环境变量设置有3个,JAVA_HOME,PATH和CLASSPATH。
关于JAVA_HOME:
这是JDK(不是JRE哦)的安装目录(for example: C:\Java\jdk1.6.0_15),设置这个变量的好处就是当你改变了JAVA的安装位置时,你只需更改这个变量值就可以了,不用再去修改其它的环境变量值了, 当然前提是其它的环境变量值使用 %JAVA_HOME%设置
关于PATH:
环境变量PATH 设置了一系列的路径,用以告诉计算机的command interpreter到哪里去查找命令(command)的executable files(可执行文件).
安装了JAVA的JDK后,如果要在COMMAND WINDOW编译和运行JAVA,就必须设置环境变量PATH, 指定JDK的BIN所在的目录(for example: %JAVA_HOME%\bin),以告诉计算机JAVAC和JAVA这两个可执行文件的位置。(详细请参阅李刚老师的“疯狂JAVA 讲义” P10)
关于CLASSPATH:
当我们在开发java程序需要引用别人写好的类时,可以设置CLASSPATH告诉java解释器知道到哪里去找这些类。
对于JDK1.4及其以下的版本,必须设置CLASSPATH,其值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
此时,不仅要用(.)告诉JRE需要在当前路径下搜索JAVA类。而且还要设置 dt.jar 和 tools.jar 这两个jar文件所在路径,告诉JRE查找类时把这两个JAR文件当作目录进行查找。此时,不仅要用(.)告诉JRE需要在当前路径下搜索JAVA类。而且还要设置 dt.jar 和 tools.jar 这两个jar文件所在路径,告诉JRE查找类时把这两个JAR文件当作目录进行查找。
这种方法显然是比较笨拙滴,因此SUN在JDK1.5及其之后的版本改进了其设计思想,JRE会自动搜索当前路径下的类文件,而且使用JAVA的编译和运行工具时,系统可以自动加载dt.jar和tools.jar文件的JAVA类。因此可以不再设置CLASSPATH 环境变量。
但有一点值得注意,如果你还要引用除JDK自带的dt.jar和tools.jar之外的类,此时你必须设置CLASSPATH,且还必须加入(.)告诉JRE需要在当前路径下搜索JAVA类(详细请参阅李刚老师的“疯狂JAVA 讲义” P15)。
关于如何设置环境变量:
My Computer 点右键,选择“Properties”,选择“Advanced”标签,进入Environment Variables就可以添加设置环境变量(详细请参阅李刚老师的“疯狂JAVA 讲义” P11)。
关于用户变量(User variables)和系统变量(System variables):
简单而言,在用户变量区设置的环境变量只对当前用户有效,对应的在系统变量区设置的环境变量对本计算机所有的用户都有效(详细请参阅李刚老师的“疯狂JAVA 讲义” P11)。