CLASS PATH环境变量的作用

时间:2022-12-12 12:05:54

安装jdk一定要设置classpath环境变量吗?

classpath的作用是什么?

什么时候一定要用到classpath?

对于java的初学者来说,不可避免的会遇到配置jdk环境的难题。有时候照着百度经验的结果去做还是会出现这样子那样子的问题。在配置的时候就会有人发现,环境变量中有个环境变量class path不配jdk照样是安装好了。那这是为什么呢?本篇文章将着重介绍class path环境变量的作用,并且给大家展示这个环境变量配置了和不配置的区别。对于1.6版本及以后的jdk,classpath不一定要配置的。

class path顾名思义,会让我们想到“类的路径”。而正好,配置这个变量也就是让我们的java解释器知道到哪个路径下面找到标准类库。这个类型的类库是别人已经写好的,我们尽管使用即可。例如平时用的java.lang包中的类,在配置classpath变量后被设为默认导入,所以在写程序时就不用import这个包了。这就是为什么我们在标准输出的时候没有加载包的原因。

那这些标准类库在哪里呢?

jdk的lib目录下以jar为后缀的文件中:一个是dt.jar,一个是tools.jar,这两个jar包都位于jdk下的lib目录下,所以通常我们都会把这两个jar包到我们的classpath环境变量

的值为:.; C:\Program Files\Java\jdk1.5.0_17\\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_17\\lib\dt.jar;

下面以截图和文字的形式和大家更深入的讲解classpath的作用,以及什么时候必须用到这个环境变量。

在我们平时利用eclipse创建一个工程之后,会在你的工作空间下面出现一个project。例如我创建了project4,则我的工作空间出现project4的文件夹,里面会包括这些子文件夹。

CLASS PATH环境变量的作用

发现有一个.classpath文件,打开这个文件我们可以看到

CLASS PATH环境变量的作用

这里前面的说明大家都看得懂,重要的是最后一句他说明了编译之后的class的输出目录是当前根目录的bin文件夹下面,所以当我们在使用eclipse编译java文件的时候,会将该java文件的class产生并输出到bin这个文件夹下。我们到这个文件夹下面可以看到对应的class文件。

CLASS PATH环境变量的作用

CLASS PATH环境变量的作用

这个时候就体现出了classpath的作用,他可以指定java文件编译后的class文件的输出目录。并在运行的时候自动到这个目录下面去寻找到这个class且运行。

对应的,如果我们在java文件目录下面用编译器编译此文件并且不说明他的class文件产生的目录的话,他自己的class文件就会自动的产生在当前目录,而如果你在编译的时候加上class文件的输出目录,则class文件会输出到对应的目录,并且你在当前目录下面使用java *(你自己的java文件名).class也会自动的去寻找到class文件并且运行。

从上面的几个问题的产生和解决大家可以看出来什么时候classpath必须要被用到,举个例子,当你在编译当前目录下面的java文件的时候这个java文件用到了另外一个目录下面的java文件,这个时候classpath就至关重要了。你需要在javac的后面添加上需要用到的依赖的目录才能编译成功,不然就会产生找不到什么东西的尴尬情况了。当然有人说,你这个只能是命令行编译产生啊,我用ide不会出现这个情况。当然ide环境下面使用的时候不会出现,但如果你是一个相对比较大的项目的时候,无法再继续使用ide,只能靠命令行去编译各个目录下面的java文件,classpath是编译的时候或者在你运行的时候是不能忽略的。

命令行的例子将在接下来的时间里加入,目前就这样了。