path变量与classpath变量的区别?

一、PATH

1.1 配置:

    新建变量名:JAVA_HOME   变量值:D:\develop\Java\jdk1.8.0_144(这是我的jdk安装路径)

    编辑变量名:Path  在后面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

1.2 介绍:

    path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行Java文件,

但必须把完整的路径写出来,如:D:\develop\Java\jdk1.8.0_144\bin\javac ArrayDemo.java ,path是用

来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置

的路径;而java的各种操作命令是在其安装路径中的bin目录下,所以在path中设置了JDK的安装目录后就

不用再把java文件的完整路径写出来了,它会自动去path中设置的路径中去找,简化了在控制台的操作命令,

上面的命令变成:javac ArrayDemo.java,这正是配置PATH变量的意义所在。

二、CLASSPATH

2.1 配置

    CLASSPATH 变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

2.2 介绍

    classpath是指定你在程序中所使用的类(.class)文件所在的位置,比如在引入一个类时:import javax.swing.JTable句话是

告诉编译器要引入javax.swing这个包下的JTable类,而classpath就是告诉编译器该到哪里去找到这个类(前提是你在classpath中设

置了这个类的路径);如果你想要编译在当前目录下找,就加上“.”,如:.;C:\Program Files\Java\jdk\,这样编译器就会到当前目录

和C:\Program Files\Java\jdk\去找javax.swing.JTable这个类;还提下:大多数人都是用Eclipse写程序,不设classpath也没关系,因

为Eclipse有相关的配置。

2.3 注意

    这里新手不知道CLASSPATH环境变量中的dt.jar与tools.jar的作用,小编表示当时我对此也是一无所知,现在和大家分享一下我所

了解的。小编处于好奇,把tools.jar这个文件给解压缩得到如下图所示的路径:

path变量与classpath变量的区别?

    然后进入sun\tools\java 你会发现如下图所示的.class文件:

path变量与classpath变量的区别?

    相信你肯定能知道Scanner.class这个类,键盘录入时肯定会new这个类,因此你就会明白配置tools.jar的意义。

    同样我把dt.jar也解压出来并进入javax\swing中,如下图所示:

path变量与classpath变量的区别?

    如图所示你会发现,这些都是与Swing窗体有关的类,因此当你使用Swing窗体的类时需要在配置中加入dt.jar

    dt.jar是关于运行环境的类库,主要是swing的包;

    tools.jar是关于一些工具的类库,如:javac,java,javap,javadoc等

三、PATH与CLASSPATH变量的区别

    path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径。

    而是用来告诉编辑器在那里寻找Java编译过程中所需的包和类所以其路径中配置的是lib目录下的tools.jar。

小结:可能有的地方总结的不好,希望大家指出,我会不断更新!