大家好,欢迎来到IT知识分享网。
在了解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://yundeesoft.com/24299.html