PATH和CLASSPATH
Posted 生姜不爱蒜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PATH和CLASSPATH相关的知识,希望对你有一定的参考价值。
如果你不设置PATH,则在小黑框输入javac hello.java 时会报错,显示javac不是内部命令
内部命令,即操作系统已经设定好的,可直接使用的命令,javac是JDK中的编译工具,是后来人,如果不让系统知道有这个命令,就无法使用它。
一种方法,就是把命令改成:"c:\program files\java\jdk1.7.0\bin\javac" hello.java (其中c:\program files\java\jdk1.7.0\bin\javac是javac存放路径)
但显然,这方法太瞎了,一点都不简便。
这个时候,我们就需要通过设置PATH变量,把这个地址直接告诉给操作系统。也可以理解为,人为地把javac设置成了操作系统的内部命令。
具体怎么设置,网上一搜就出来了,我不做赘述。
之前曾经说过,编译java文件会出现.class文件,即可执行文件,生成可执行文件后,就会启动JVM,要求JVM执行.class文件中的指令。
启动JVM指令是java。
在小黑框中执行java hello时,若hello.class文件并不在当前文件夹下,就会显示“找不到或无法加载主类 hello”。
其实在未设置classpath时,JVM只会在当前文件夹下寻找对应的.class文件,找不到自然要报错
所以我们才会去设置classpath环境变量,就是为了告诉JVM,到底应该在哪些地方找.class文件。
很多人只会根据教程来设置path和classpath,我觉得了解他们的实际用途也是很重要的。
最后要提一下,因为系统总是根据设置的路径从前到后挨个查看有没有需要的文件,所以,最有可能的路径放在最前面,可以提高工作效率哦。
以上是关于PATH和CLASSPATH的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot中classpath和classpath*