Java中JDK为何要配Path和ClassPath?

1.首先说一下JDK运行原理。

一个x.java文件要想被运行,首先要被javac.exe编译生成字节码文件 ----> x.class文件

然后JDK中的Java命令运行此x.class文件,java代码就可以被执行。

2.为什么要配置Path?

平时使用cmd运行JDK中的命令时,只能在JDK的安装目录下运行如 javac和java命令。但是一旦脱离了当前安装目录,对于编写的java文件就没办法继续执行,会提示没有此命令。所以要想在任何目录下都能运行JDK命令,就需要在path中配置JDK的安装路径。这样,在cmd中运行java命令时,会先从当前目录进行查找,如果查找不到此命令的执行程序,便会到path路径查找,path中配置了JDK的安装路径,所以此时在任何目录下都能编译执行Java文件。

3.为什么要配置ClassPath?

好了,上面说明了在任何目录下都能够运行JDK的命了,那么问题来了?

如果我在F:\eln4-git\app\app-ems\ems\target目录下写了一个Java程序,我想要到F:根目录执行怎么办?

很明显,不可能,因为F盘根目录压根没有此java程序源码,调用javac和java无法执行。

此时,ClassPath的作用就突显出来。

其作用就是配置好一个java程序存放路径。当在其他任何目录下执行一个当前目录没有的java程序时,会优先去ClassPath配置的路径中进行查找,如果没有在到当前目录下查找。

特别注意:配置方式上有所不同,如果单纯的配置一个路径结尾没有 " ;. ",那么只会去ClassPath配置的路径下查找,找不到就会提示文件不存在。配置了“  ;.  ” 才会在配置路径找不到文件的情况下再去当前目录查找。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 86,945评论 14 122
  • Tips做一个终身学习的人。 在本章,主要介绍以下内容: 新的JDK版本控制方案是什么 如何使用Runtime.V...
    码匠安徒生阅读 11,553评论 3 17
  • 文 by / 林本托 Tips做一个终身学习的人。 在此章节中,主要介绍以下内容: 在JDK 9之前Java源代码...
    码匠安徒生阅读 2,419评论 10 26
  • 这部电影,刚开始看看的我晕晕的,我根本不知道在说什么,其实我心挺乱的,挺可怕的,真的去走进一个人的内心,去感受一个...
    心我听你说阅读 387评论 0 1
  • 云南的丽江晴空万里,阳光明媚,看的到阳光感受不到热度,不像海南分分钟热的柔情似火. 蓝的不像话的拉市海,风中...
    hy画个方方阅读 130评论 0 3