Windows环境变量Path、ClassPath、JAVA_HOME的作用
? ? ? ? ? ? ? ? ? 系统变量 JAVA_HOME的作用
? ? ? ? ? ? ? ? ?系统变量 PATH 的作用
? ? ? ? ? ? ? ? ?系统变量 CLASSPATH 的作用
总结
程序猿学习一门编程语言首先要做什么?答案当然是搭建这门语言的开发环境了,没有语言的开发环境怎样学习编程。但是每一个新手几乎都是按照书籍或者者博客上的教程搭建的开发环境,这就导致很多人始终不知道Window系统中的 Path 和 ClassPath 究竟是干什么的,为啥要在Windows环境变量中配置它们,这篇博文将带你理解它们。
我们以最热门的编程语言Java 为例,其余编程语言都是一样的道理。Windows下 Java 用到的环境变量主要有3个,分别为 Path、ClassPath、JAVA_HOME。
首先很多人都会有个疑惑:有些博客使用的是PATH、CLASSPATH和JAVA_HOME,但是有些博客又是 path、classpath 和 java_home ,搞得新手是一头雾水,还没学习编程已经就懵了。其实这是由于Windows操作系统不区分大小写,设置Path和PATH并没有区别;而Linux操作系统是区分大小写的,设置Path和PATH是有区别的,因而只要要设置PATH环境变量就可。
系统变量 JAVA_HOME的作用
很多教程配置JDK环境变量的时候,都会让你新建一个系统变量 JAVA_HOME, 而后将这个系统变量的值指向JDK的安装目录,如下图这样:
这样做的好处:
一是为了方便引用
比方,你的JDK安装在下面的目录里,并且将这个目录路径设为你的 JAVA_HOME 值:
C:\Program Files\Java\jdk1.8.0_91
为了避免你每次引用 JDK的安装目录 都要输入很长的路径串,你只要输入下面这行语句就可:
%JAVA_HOME%
二则是归一准则
当你JDK路径被迫改变的时候(比方JDK需要更新了), 你仅需更改 JAVA_HOME 的变量值就可, 否则你就要更改任何引用JDK目录绝对路径的地方, 万一你要是没有改全, 某个程序找不到JDK, 后果是可想而知的。
系统变量 PATH 的作用
当你在计算机安装JDK之后,输入“javac”或者者“java”之类的命令是不能马上被计算机正确执行的,由于计算机不知道到哪里去找这两个命令。
那么计算机该如何查找你输入的命令呢? Windows操作系统是根据 环境变量PATH 来查找命令的。环境变量PATH 的值是一系列路径,Windows操作系统将在这一系列的路径中依次查找命令,假如能找到这个命令,则该命令是可执行的;否则将出现“‘XXX’不是内部命令或者外部命令,也不是可运行的程序或者批解决文件”的提醒。
对于Windows系统而言,一般情况下 系统变量Path 已经存在,你可以直接点击 编辑 修改该环境变量,假如没有的话你就新建一个名为PATH的环境变量,在该环境变量值后面追加如:
%JAVA_HOME%\bin;
或者者这样:
C:\Program Files\Java\jdk1.8.0_91\bin;
这两种都是正确的,但是为了以后修改维护方便还是建议使用:%JAVA_HOME%\bin;
系统变量 CLASSPATH 的作用
它的作用是指定类搜索路径,要使用已经编写好的类,JVM就是通过CLASSPATH来寻觅 Java类的。
实际上,假如你安装的是1.5版本以上的JDK,完全是可以不用设置 环境变量CLASSPATH的。
CLASSPATH 环境变量的作用是什么呢?在1.4版本以前的JDK,当使用“java 类名”命令来运行Java程序时,计算机需要根据 CLASSPATH 来搜寻Java类。
1.4以前的版本,常常需要设置CLASSPATH环境变量的值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
首先要注意的是最前面的”.;”,注意是点分号。这个是告诉JDK,搜索 Class 时先查找当前目录的CLASS文件,之所以这样搞是因为Linux的安全机制引起的,Linux 客户很明白,Windows 客户就很难了解(由于 Windows 默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索 PATH 环境变量设定的) ,所以假如喜欢盘根究底的朋友不妨研究一下 Linux。
后来的 JRE 会自动搜索当前路径下的类文件,无限加载 dt.jar 和 tools.jar 文件中的 Java类,不再需要设置环境变量CLASSPATH。一旦你设置了这个环境变量, JRE 将只按照环境变量的设置来搜索Java类,所以环境变量肯定要设置正确。
总结:
JAVA_HOME是为了给你方便用的;
PATH 是给操作系统(OS)用的 ;
CLASSPATH 是给Java(JVM)用的;
大家喜欢可以多多关注,你的关注是我最大的动力。
可以关注我的微信公众号:首席数据师 里面有很多关于大数据的干货
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Windows环境变量Path、ClassPath、JAVA_HOME的作用