CLASSPATH、PATH、JAVA_HOME的作用及JAVA环境变量配置

CLASSPATH、PATH、JAVA_HOME的作用及JAVA环境变量配置

CLASSPATH

它是javac编译器的一个环境变量。用与import、package关键字有关。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。这里CLASSPATH为:

1
2
.;C:/Program Files/Java/jdk1.6.0_21/lib/dt.jar;C:/Program Files/Java/
jdk1.6.0_21/lib/tools.jar

当写下import java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类,但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦.

如果java.util这个package在c:/jdk/ 目录下,你得把c:/jdk/这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java/util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!

当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。

配置

对于Windows系统而言,名为Path的系统环境变量已经存在,可以直接修改该环境变量,在该环境变量值后面追加如 D:\Java\jdk1.7.0\bin(JDK的安装路径)。或者新建一个名为PATH的环境变量,设置它的值为 D:\Java\jdk1.7.0\bin

Linux平台下的环境变量是通过 .bash_profile 文件来设置的。在该文件的PATH变量后面添加:/home/Java/jdk1.7.0 /bin(JDK安装路径)

PATH= .:PATH:HOME/bin : /home/Java/jdk1.7.0/bin

完成了PATH变量的设置后,在 .bash_profile 文件最后添加导出PATH变量的语句

export PATH

重新登陆Linux或执行如下命令让文件中的PATH变量生效:

source .bash_profile

PATH

PATH环境变量。作用是指定命令搜索路径.

在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。

我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。我们这里设定的PATH值为:

1
2
3
4
5
%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;%SYSTEMROOT%/
System32/WindowsPowerShell/v1.0/;C:/Program Files/Common Files/Thunder
Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/
binn/;C:/Program Files/Common Files/TTKN/Bin;C:/Program Files/Common Files/
Teleca Shared;C:/Program Files/Java/jdk1.6.0_21/bin
C:/Program Files/Java/jdk1.6.0_21/bin

上述只有红色部分;C:/Program Files/Java/jdk1.6.0_21/bin是java的PATH变量,注意变量之间需要用”;”隔开。

如果想在运行Java时临时指定JRE搜索Java类的路径,可以使用 -classpath 选项,Linux上用冒号(:)隔开

java -classpath dir1;dir2,...;dirN Java类
或者
java -classpath %CLASSPATH%;.;dir1;dir2,...;dirN Java类

JAVA_HOME

JAVA_HOME环境变量,指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。这里JAVA_HOME为:

C:/Program Files/Java/jdk1.6.0_21

转自: CLASSPATH、PATH、JAVA_HOME的作用及JAVA环境变量配置