PATH和CLASSPATH

如果你不设置PATH,则在小黑框输入javac hello.java 时会报错,显示javac不是内部命令

内部命令,即操作系统已经设定好的,可直接使用的命令,javac是JDK中的编译工具,是后来人,如果不让系统知道有这个命令,就无法使用它。

一种方法,就是把命令改成:"c:program filesjavajdk1.7.0injavac" hello.java (其中c:program filesjavajdk1.7.0injavac是javac存放路径)

但显然,这方法太瞎了,一点都不简便。

这个时候,我们就需要通过设置PATH变量,把这个地址直接告诉给操作系统。也可以理解为,人为地把javac设置成了操作系统的内部命令。

具体怎么设置,网上一搜就出来了,我不做赘述。

之前曾经说过,编译java文件会出现.class文件,即可执行文件,生成可执行文件后,就会启动JVM,要求JVM执行.class文件中的指令。

启动JVM指令是java。

在小黑框中执行java hello时,若hello.class文件并不在当前文件夹下,就会显示“找不到或无法加载主类 hello”。

其实在未设置classpath时,JVM只会在当前文件夹下寻找对应的.class文件,找不到自然要报错

所以我们才会去设置classpath环境变量,就是为了告诉JVM,到底应该在哪些地方找.class文件。

很多人只会根据教程来设置path和classpath,我觉得了解他们的实际用途也是很重要的。

最后要提一下,因为系统总是根据设置的路径从前到后挨个查看有没有需要的文件,所以,最有可能的路径放在最前面,可以提高工作效率哦。