课时6:CLASSPATH环境属性
本节介绍 CLASSPATH 概念。
现在只能对概念做初期解释,后面再对它进行完整解释。
CLASSPATH 指的是类的加载路径。
如图输入System.out.println("Hello world !")
打开cmd输入del *.class,输入dir,将不重要的文件删除。只留下Hello. Java 。
输入 Java c Hello. Java 编译 Java ,再输入dir查看目录存在Hello.class。
现在假设在d:\mydemo目录下存在一个Hello.class的程序类,如果现在要想执行这个程序类,则必须要求命令行所在目录也是d:\mydemo,如果切换到了其它目录(e:),将无法执行。因为没有Hello.class文件。
现在在mydemo目录下直接执行Hello可以直接执行程序。
但是退出到e盘,再执行Hello. Java 。E盘下没有Hello.class文件会显示找不到类。默认情况下 Class 在哪里生成,生成的地方可以执行程序类文件。
现在希望即使当前不在 d:\mydemo 目录下也可以执行该目录下的Hello.class 文件。就必须通过 CLASSPATH 来进行控制,所以执行如下命令:
输入SET CLASSPATH =d:\mydemo,再次执行 Java Hello。
在 Java 解释一个程序时会首先通过 CLASSPATH 获得类的加载路径,再进行解释。所以可以得出结论:当使用 Java 命令解释一个程序类的时候,一定要首先取得 CLASSPATH 设计的路径,再可以进行类的加载操作。
需要注意的是,如果现在的 CLASSPATH 设置的目录比较乱,对于程序的解释执行会非常不方便,最好的办法采用默认的机制:从当前所在的路径中进行类的加载,可以将 CLASSPATH 的内容设置为”.”。
输入SET CLASSPATH =.
在E盘中没有Hello.class文件,执行 Java Hello报错。
再返回到d盘,输入 Java hello可以执行。
实际上默认就是从当前所在路径下进行类的加载,所以一般来讲不建议大家去改变 CLASSPATH 的配置,如果为了方便,可以为项目添加一个环境属性 CLASSPATH 。
点击我的电脑,找到属性,点击高级系统设置,点击高级,点击新建。
输入 CLASSPATH 。环境操作针对所有的命令行窗口起效。
如果安装一些软件,可能会自己修改 CLASSPATH 。所以使用时将 CLASSPATH 设置为“. ”。
CLASSPATH 是一个非常重要的概念,但是现在只能对其做基本认识,后期还会对 CLASSPATH 进行更深入的讲解。之后在一个项目中可能会有很多 CLASSPATH ,需要明白为什么文件存在目录中可以加载,正是因为 CLASSPATH 环境属性的原因。