配置JAVA_HOME、CLASSPATH、PATH的目的

来源:互联网 发布:ubuntu如何安装vmtools 编辑:程序博客网 时间:2024/05/14 01:29

 1,设置JAVA_HOME:

     JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
     一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
     二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!

如果你只是用eclipse开发的话可以不设置 其实,添加JAVA_HOME环境变量的目的只是辅助,完全可以如你所说,写成具体的路径如果让我说出添加的好处,给你举个简单的例子:我在把jdk1.6.0_16更新到jdk1.6.0_17。在官网上下载了jdk1.6.0_17后,直接运行安装,我的电脑里之前的版本是jdk1.6.0_16,于是安装后查看发现,C:\Programe Files\Java\下,有两个jdk文件夹——jdk1.6.0_16和jdk1.6.0_17JAVA_HOME的作用体现出来,直接把环境变量稍微更改就好。不仅是jdk升级,有时我们必须使用某个软件自带的jdk,而不能使用电脑原装的jdk时(这种情况偶尔遇到,学struts时的一个软件),使用JAVA_HOME变量非常方便

2.设置CLASSPATH:
        CLASSPATH环境变量的作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。这个变量设置的目的是为了程序能找到相应的".class"文件, 举个例子: 你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:\"再运行java A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!

3.设置PATH:
        道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗? 当然不会。 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你的代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.)。PATH环境变量的作用是指定命令搜索路径,在dos命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。