系统环境变量的解释

  安装JDK后需要对系统环境变量进行设置,包括JAVA_HOME,CLASSPATH,PATH,其中JAVA_HOME 是安装JDK的路径,主要是为了以后写路径的方便,没有什么实质意义。PATH设置为java常用工具的路径,包括java,javac(在.../bin中),主要是方便我们每次用这个工具的时候不需要写出工具所在的完整路径名。CLASSPATH是用java命令执行.class文件的时候需要搜索的路径,就是从哪里去找我们需要执行的.class文件。下面用一个例子来说明CLASSPATH。

  我在桌面新建一个文件夹test,里面有SRC和CLASS两个文件夹,其中SRC用来存放我们写的.java文件,而CLASS用来存放编译后的.class文件。

        test                                                                               |_SRC                                                                             |_CLASS

  在CLASS中写一个简单的测试类sub.java,打开cmd,执行( javac <options> <source files>)javac -d  C:\Users\ZY\Desktop\test\CLASS C:\Users\ZY\Desktop\test\SRC\sub.java,然后在CLASS中就可以看到我们编译出来的.class文件了。接下来再用java命令来运行.class文件。具体的过程就是先用cd命令调到CLASS文件夹中,执行java sub。这条命令能运行成功的原因是应为我们在环境变量中设置了CLASSPATH为(.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar),它的作用就是告诉java命令先到.(当前目录,即C:\Users\ZY\Desktop\test\CLASS)中去找sub.class,若没有找到,再去%JAVA_HOME%\lib中去找,不信的话我们将sub.class拷贝到%JAVA_HOME%\lib中,并且删掉C:\Users\ZY\Desktop\test\CLASS中的sub.class文件,也能执行成功。而%JAVA_HOME%\lib\tools.jar是执行java命令所需要的jar包,我们也可以仿照它。如果我们自己写的.java中导入了其他的jar包,就可以在着了写入路径。例如:

  当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个 package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH) 如果java.util这个package在c:\jdk\ 目录下,你得把c:\jdk\这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java\util是否存在,然后找出名称吻合的已编译文件 (.class文件)。如果没有找到就会报错!

  看完上面的介绍,我想应该了解了环境变量的作用了,就会知道为什么需要这么配置,而不是只知道需要配置了。

你可能感兴趣的:(环境变量)