PATH环境变量和CLASSPATH环境变量详解
大凡装过JDK的人都知道要安装完成后要设置环境变量,可是为什么要设置环境变量呢?环境变量有什么作用?
1)PATH详解:
计算机安装JDK之后,输入“javac”“java”之类的命令是不能马上被计算机正确执行的,因为计算机不知道到哪里去找这两个命令。
计算机如何查找命令呢?Windows操作系统根据PATH环境变量来查找命令。PATH环境变量的值是一系列路径,Windows操作系统将在这一系列的路径中依次查找命令,如果能找到这个命令,则该命令是可执行的;否则将出现“‘XXX’不是内部命令或外部命令,也不是可运行的程序或批处理文件”的提示。而Linux操作系统则根据PATH环境变量来查找命令,PATH环境变量的值也是一系列路径。因为Windows操作系统不区分大小写,设置Path和PATH并没有区别;而Linux操作系统是区分大小写的,设置Path和PATH是有区别的,因此只需要设置PATH环境变量即可。
对于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
2)CLASSPATH详解:
实际上,如果使用1.5版本以上的JDK,完全可以不用设置CLASSPATH环境变量。
CLASSPATH环境变量的作用是什么呢?在1.4版本以前的JDK,当使用“java 类名”命令来运行Java程序时,计算机根据CLASSPATH搜寻Java类。
1.4以前的版本,常常需要设置CLASSPATH环境变量的值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (其中JAVA_HOME环境变量应指向JDK的安装目录)
后来的JRE会自动搜索当前路径下的类文件,自动加载dt.jar和tools.jar文件中的Java类,不需要设置CLASSPATH环境变量。一旦设置了该环境变量,JRE将只按照环境变量的设置来搜索Java类,所以环境变量一定要设置正确。
如果想在运行Java时临时指定JRE搜索Java类的路径,可以使用 -classpath 选项,Linux上用冒号(:)隔开
java -classpath dir1;dir2,...;dirN Java类
或者
java -classpath %CLASSPATH%;.;dir1;dir2,...;dirN Java类