首页 > 代码库 > Java的开发平台JDK在Windows下的环境变量配置

Java的开发平台JDK在Windows下的环境变量配置

http://blog.sina.com.cn/s/blog_76e84df301015edc.html

 

JDK安装完成后,一般需要设置JAVA_HOME、CLASSPATH、PATH三个环境变量的值,以及测试JDK配置是否成功。

一、什么是用户变量?什么是系统变量?

答:用户变量是只能当前用户使用的变量,系统变量是系统下任何用户都可以使用的变量。

二、为什么需要配置环境变量?

答:我们知道,在系统的“运行”窗口中可以输入指定的命令运行相应的程序,如果在输入命令时没有指定完整的路径,系统将自动到当前目录中查找相应的文件,如果没有找到,再到系统的环境变量PATH中查找,但是,由于JAVA遵循UNIX的一些规范,它并不会在当前目录中查找文件,所以必须在环境变量中设置。

三、系统环境变量JAVA_HOME有什么作用呢?

答:JAVA_HOME表示JDK安装的目录,其他的应用程序如果需要使用java运行环境,他们会首先获得该变量的值,然后根据这个值确定执行的路径。

1、方便引用,例如:JDK安装在C:\Program Files\Java\jdk1.7.0_04目录里,则设置JAVA_HOME的值为该目录路径,以后使用这个路径的时候,只需要输入%JAVA_HOME%就可以, 避免每次引用都输入“C:\Program Files\Java\jdk1.7.0_04”这个路径。
2、归一原则,当JDK路径发生改变的时候,仅需更改JAVA_HOME的变量值即可,否则,就要更改所有使用这个路径的变量的值。

设置变量名:JAVA_HOME

设置变量值:C:\Program Files\Java\jdk1.7.0_04(这个变量值不是确定值,要根据自己安装的路径和安装的版本进行配置,还有就是这个变量值是一个值,所以后面不需要用“分号”分隔开,“分号”是分隔两个变量值的)

四、系统环境变量CLASSPATH有什么作用呢?

答:CLASSPATH环境变量表示搜索JAVA类的路径,也就是指定类库的位置,JDK安装目录下的jre文件夹中包含着Java应用程序运行时所需要的Java类文件,这些类文件被放在 jre\lib 目录下的压缩包 rt.jar中。CLASSPATH变量中的” .; “是指可以加载应用程序当前目录及其子目录中的类文件,其中” . ”代表当前路径,因为每个变量要用分号隔开,所以这个“点分号”也是一个环境变量值,这么说应该更容易理解和接受吧。

设置变量名:CLASSPATH

设置变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar;

注意:开头的“点分号”放在首位和结尾都可以,放在中间要注意写在变量值与变量值间,不要写在变量值里面。

例如:%JAVA_HOME%\lib\dt.jar;.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar

关于dt.jar,tools.jar和rt.jar这三个包的作用这里不做解释

五、为什么有的教材讲述的是需要配置环境变量CLASSPATH的值,而有些教材则没有配置CLASSPATH的值?

答:安装JDK一般情况下不需要设置环境变量CLASSPATH的值,但有些时候计算机安装的其他应用软件可能会修改环境变量CLASSPATH的值,那么运行java程序时,很可能会加载这些软件产品所带的旧版本的类库,从而导致程序要加载的类无法找到,使程序无法正常运行,这时就需要重新配置环境变量CLASSPATH的值。

六、系统环境变量PATH有什么作用呢?

答:PATH变量是系统搜索可执行程序的路径,我们要在不写出JDK的完整路径的情况下,执行JDK平台中提供的 Java 编译器(javac.exe)和 Java 解释器(java.exe)时,就需要在系统的环境变量PATH值中指定JDK的完整安装路径,所以在安装JDK后,必须配置环境变量PATH的值。 Java 编译器(javac.exe)和 Java 解释器(java.exe)在JAVA安装目录下的bin文件中。

设置变量名:PATH

设置变量值:%JAVA_HOME%\bin;

注意:在设置环境变量PATH值的时候,如果系统环境变量中不存在PATH变量,则新建PATH变量,如果存在PATH变量,一定不要替换原来PATH变量的值,因为在在原PATH的值中,可能包括系统中自动配置的其他程序所对应的PATH值,如果替换掉,可能会导致其他程序不能正常运行。

 

Java的开发平台JDK在Windows下的环境变量配置