CLASSPATH、PATH、JAVA_HOME的作用及JAVA环境变量配置
CLASSPATH
它是javac编译器的一个环境变量。用与import、package
关键字有关。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。这里CLASSPATH
为:
1 | .;C:/Program Files/Java/jdk1.6.0_21/lib/dt.jar;C:/Program Files/Java/ |
当写下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 | %SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;%SYSTEMROOT%/ |
上述只有红色部分;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