配置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环境变量的值
到此这篇关于配置JAVA环境变量中CLASSPATH变量的作用的文章就介绍到这了,更多相关JAVA环境变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java SpringBoot启动指定profile的8种方式详解
这篇文章主要介绍了spring boot 如何指定profile启动的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09OKHttp3(支持Retrofit)的网络数据缓存Interceptor拦截器的实现
本篇文章主要介绍了OKHttp3(支持Retrofit)的网络数据缓存Interceptor拦截器的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-12-12
最新评论