很多的新手,入门第一天,在装完jdk之后,第一件事就是配置 环境变量 。
有些人运气好,配置之后一次性就成功了, javac 跑出了你的第一个HelloWorld。
有些人就不那么幸运了,多了或者少了个斜杠,写错个分号什么的,导致配置失败。
这里就来研究下,究竟 环境变量 是个什么鬼。
环境变量到底是什么鬼
所谓 变量 ,就得有 变量名 和 值 ,然后在特定场合下根据这个名字来使用这个值。
以windows系统为例,打开环境变量设置界面。
会看到如下一个图
我们看到这数据一共有两列,左边是变量名,右边是变量值。
在这里我们可以对所有的变量进行增删改查。
上面一组是用户变量,仅对当前登录用户有效。
下面一组是系统变量,对当前计算机所有用户有效。
如果这个电脑只有你一个人使用,我在此建议你添加 用户变量 。
尝试来新加一个用户变量
完成之后打开一个命令行窗口来看看效果。
echo 代表将变量名为 baoxue 的值输出到控制台。
什么是path
在windows中,要执行一个命令,就是通过 cd 命令定位到那个 可执行文件 所在的目录中,通过输入文件名的方式来执行。
如图所示,我进入C:\ java \jdk1.8.0_112\bin目录,通过输入 jvisualvm.exe 的文件名,程序就会启动。
那么问题来了,我们每次想使用某个程序的时候,都要定位到该文件所在的目录,岂不是很麻烦?
那么这时候我们可以使用path变量。
操作系统命令行来查找可执行文件的顺序是
首先查找当前路径是否存在,如果存在则执行该文件。
如果不存在则去查找path变量里面所有目录中是否存在该文件,如果存在则执行,否则抛异常 ‘xxx‘不是内部或外部命令,也不是可运行的程序或批处理文件 。
通过这个顺序,我们可以看出path变量的作用就是告诉操作系统去哪里找可执行文件。
安装完jdk之后需要配置path变量的目的就是告诉操作系统去哪里找 javac.exe 和 java.exe 程序。
所以将path配置为
注意,最后要追加一个英文的半角分号。为什么?因为操作系统通过这个分号来分隔每一个需要查找的目录。
设置完之后,新开一个cmd试试效果。
输入
应当能看到如下画面
如何更优雅地设置path
如果你机器里面同时存在多个版本的jdk
你可以考虑如下设置path
-
首先设置一个变量为JAVA_HOME值为当前你需要的jdk版本的根目录如C:\Java\jdk1.8.0_112
-
然后设置path为%JAVA_HOME%\bin;
这样如果你要切换jdk版本的时候,只需要更换JAVA_HOME的值即可。