ClassPath环境属性
所有的java程序在进行执行的时候一般都需要经过两个过程:、
Java程序编译过程:是要得到字节码文件,而字节码就是程序执行的主要的二进制文件;
java解释执行过程:是在虚拟机上进行解释。
实际上在真个java编译和运行的过程之中都存在有一个非常重要的环境属性“classpath”,利用classpath可以设置第三方程序的加载路径,同时也可以改变java解释的的时候后程序的执行路径。
java之所以可以持续的发展,最主要的原因在于,java里面有大量的第三方程序支持,那么既然要有很多的第三方程序支持,就一定需要提供有一种标准的机制来方便的引用这些第三方组件包(是为了进行程序的编译处理)。
ClassPath还可以进行程序加载路径的变更,每当使用java命令进行程序执行的时候后,实际上都会牵扯到一个类的加载路径,每一台java虚拟机在默认的情况下都会在当前目录下进行程序类的加载。
1 | D:\yootk>javac Hello.java |
若将盘符切到了C盘
1 | C:\Users\23242>java Hello |
此时的路径下并没有提供hello.class文件此时会出现如上的错误提示:
ClassNotFoundException: Hello
如果说现在要想执行它,那么最简单的做法是直接设置一个类的加载路径,就直接告诉JVM,每一次进行类加载的时候你需要通过我设置的路径来进行“*.class”文件的加载(如果没有告诉JVM这个问题,则JVM会在当前所在的路径下进行加载)。
范例:设置CLASSPATH
设置命令:SET CLASSPATH=类加载路径
设置CLASSPATH: D:\yootk
CLASSPATH是一个系统的环境属性,在Windows系统里面,所有的环境属性都是通过”SET”命令实现的定义;
C:\Users\23242>set classpath=D:\yootk
C:\Users\23242>java Hello
Hello world!
此时就可以直接执行。
还原成默认形式
SET classpath=.
D:\yootk>java Hello
Hello world!