PATH
是操作系统中提供的路径配置,定义所有可执行程序的路径
CLASSPATH
是有JRE提供的用定义java程序解释时类加载的路径,默认设置的为当前所在目录加载,可以通过"SET CLASSPATH = 路径"的方式来进行定义;
关系
JVM → CLASSPATH定义的路径 → 加载字节码文件(.class)
所以CLASSPATH是java定义的环境属性,是在java程序解释的时候使用的
两者之前的区别
1、path变量用于设置所有Java软件工具的路径,定位JDK二进制文件,如javac.exe,java.exe,javadoc.exe等。classpath变量用于设置java类的路径,用于定位和加载存储在.class文件中的编译Java字节码。
2、为了在Java中设置PATH,需要在PATH环境变量中包含JDK_HOME / bin目录。而为了在Java中设置CLASSPATH,需要将所有的目录都包含在Java应用程序所需的.class文件或JAR文件中。
3、PATH不能被任何Java进行重写;但可以通过向“ java ”和“ javac ”命令提供命令行选项-classpath或-cp,或者通过在jar文件的清单文件中使用Class-Path属性来重写CLASSPATH。
4、操作系统使用PATH环境变量来查找在shell中键入的任何二进制文件或命令,这适用于Windows和Linux环境。而CLASSPATH仅由Java类加载器加载类文件
本文内容参考:https://blog.csdn.net/ZF_C_CQUPT/article/details/51020309
https://www.jb51.net/article/155249.htm