配置JAVA环境变量中CLASSPATH变量的作用

在了解CLASSPATH变量之前,我们要先设置JAVA_HOME和path这两个环境变量,让JAVA环境可以成功地运行起来,然后,再开始我们的想法。

 

 

首先,我们在E盘下的test目录下准备两个目录,分别叫HelloWorld和ClassPath,在HelloWorld目录下编写一个JAVA源文件——HelloWorld.java,而ClassPath目录下为空。

然后在此目录下分别用javac命令编译,java命令运行,运行之后,我们发现一切正常,在没有配置CLASSPATH环境变量时,程序成功的运行了。

 

然后,我们将CLASSPATH环境变量配置成E盘下ClassPath目录的路径,此时ClassPath目录下仍为空。

 

我们再次回到HelloWorld目录下,继续使用java命令运行之前的程序。我们发现,程序不能运行了,明明当前目录下有HelloWorld.class文件,但是,程序却不能运行。

 

此时,我们将HelloWorld目录下的HelloWorld.class文件移动到ClassPath目录下。

 

然后在回到HelloWorld目录下继续运行HelloWorld程序,此时,在HelloWorld目录是没有HelloWorld.class文件的。但是,我们却发现我们的程序居然运行成功了。

 

实际上,我们在任何目录下运行HelloWorld程序,如:C盘根目录下,都是可以运行成功的。因为ClassPath目录下有HelloWorld.class。

 

好了,答案已经呼之欲出了。

结论1:在没有配置CLASSPATH环境变量时,java命令在找class文件时是默认在当前目录下寻找的。

结论2:配置过CLASSPATH环境后,java命令是按照CLASSPATH变量中的路径来的寻找class文件的,这就是为什么CLASSPATH变量中配置没有当前目录时,即使当前目录中有class文件,java命令仍然不能正常运行的原因。

在百度中正常的CLASSPATH环境变量的值




原文链接:https://blog.csdn.net/cuipp0509/article/details/74852740

心之何如,有似万丈迷津,遥亘千里,其中并无舟子可以渡人,除了自渡,他人爱莫能助。
原文地址:https://www.cnblogs.com/s88888888/p/10650067.html