您的位置:首页 > 编程语言 > Java开发

环境变量JAVA_HOME, CLASSPATH和PATH的作用

2013-12-16 18:31 381 查看
如何设置JAVA_HOME, CLASSPATH和PATH就不用介绍了,网上倒是有很多。之前也设置过好多次,但是一直没有弄懂这里面的意思,今天有看到关于相关的解释(相关链接请点击这里),方便后来者能看看,也是把自己学习的一个过程记录下来,以后忘记了也能过来看到。

以下为置JAVA_HOME,CLASSPATH,PATH的目的:

1,设置JAVA_HOME:

一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;

二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!

三、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.

2,设置CLASSPATH:

这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子: 你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:\"再运行java
A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!

示例如下:CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3,设置PATH:

道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java如此长的前缀来执行java命令吗?当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.

示例:在Path后面添加;%JAVA_HOME%\bin

对Linux有些熟悉的童鞋应该对上述解释还是比较理解的,在Linux命令行中输入export我们就可以看到当前用户环境中的环境变量,我们之所以可以使用ls等命令也是类似于上面PATH的解释,不用每次都调用很长的命令前缀,而是告诉系统去环境变量中查找就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: