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这个文件给解压缩得到如下图所示的路径:
然后进入sun\tools\java 你会发现如下图所示的.class文件:
相信你肯定能知道Scanner.class这个类,键盘录入时肯定会new这个类,因此你就会明白配置tools.jar的意义。
同样我把dt.jar也解压出来并进入javax\swing中,如下图所示:
如图所示你会发现,这些都是与Swing窗体有关的类,因此当你使用Swing窗体的类时需要在配置中加入dt.jar
dt.jar是关于运行环境的类库,主要是swing的包;
tools.jar是关于一些工具的类库,如:javac,java,javap,javadoc等
三、PATH与CLASSPATH变量的区别
path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径。
而是用来告诉编辑器在那里寻找Java编译过程中所需的包和类所以其路径中配置的是lib目录下的tools.jar。
小结:可能有的地方总结的不好,希望大家指出,我会不断更新!