前言
现在网上各种JAVA教学良莠不齐,很多教学视频只会单纯地讲解JDK的安装以及环境变量的配置,但很多老铁并不清楚为什么要配置这个环境变量,这个环境变量是什么,这样学习是完全不可取的。配置之前,我们必须先弄明白我们到底在配置什么东西。
一、什么是环境变量?
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
1.Path环境变量
path环境变量用于记住程序路径,方便在命令行窗口的任意目录启动程序。什么意思呢?
举个简单的例子:
我要在桌面上打开微信,只需要双击就可以打开了,因为它是一个快捷方式,链接到了我们微信下载的目录之下的WeChat.exe文件。
但咱们要是想在命令行窗口(cmd)中打开微信,直接输入WeChat.exe发现我们并不能打开它,而是需要进入到它所在的文件目录下才可以正常打开(需要输入完整的路径名)。
此时我们只需要配置一下他的PATH环境变量,就可以在命令行窗口的任何目录下去打开微信了。
具体操作如下:
在win下设置中搜索“环境变量”,然后弹出以下这个窗口,点击环境变量按钮。
然后在系统变量中找到Path变量,点击编辑。(稍后讲解上面的用户变量和系统变量的区别)
然后点击新建,把微信所在当前目录的路径写上(意思就是操作系统在任何目录下运行WeChat.exe找不到这个程序的时候,就会往这个Path里面去找),此时,不管在哪输入WeChat.exe,Path下有这个路径,就能找到并运行它。
点击确定后,在命令行重新输入WeChat.exe, 微信是成功运行的。
2.用户变量与系统变量的区别
说白了其实用户变量就是只针对当前这个用户有用的变量,而系统变量相当于全局变量,针对所有用户都有效。
刚才举的例子,我们修改的是系统变量,其实也可以修改用户变量的Path,此时这个Path只针对你当前用户生效(每个计算机可以创建很多用户,一般来说如果电脑是自己用的话,当前用户只有一个就是你自己)。
<br/>
二、配置JDK的Path变量以及JAVA_HOME变量
<br/>
相信根据上一节的讲解,老铁们也知道为什么要设置JDK的Path变量了,其实就是方便在命令行窗口下任意目录使用java、javac等等的命令,操作系统就能自动在Path下找到java.exe 、javac.exe文件并运行之。
1.配置JDK的Path变量
和上一节一样,直接在系统变量或者用户变量的Path里面新建,并输入你下载的JDK的绝对路径(注意只写到bin目录就行)。
2.配置JAVA_HOME变量
先上图:
在用户变量或者系统变量里面点击新建
然后按着如图所示步骤输入
首先,为什么要配置这个变量呢?
它是用来告诉操作系统,JDK安装在了哪个位置。
一是为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.5.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二则是归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三则是第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 等你以后用JAVA久了就会知道的:)~, 要是某个软件不能正常使用, 不妨想想是不是这个问题。
看不懂上面的一大坨?没关系
您可以认为,当设置完这个变量,那么%JAVA_HOME% 就是 D:\JDK17\jdk-17.0.2,我们这时候在Path中修改一下
这串变量和 D:\JDK17\jdk-17.0.2\bin 是一样的,你可以把它认为是一个宏替换。
改成这样之后,咱以后要是更新JDK版本,就只需要修改JAVA_HOME里面的路径就行了,不需要再改Path里面的路径了。
总结
以上就是今天要讲的内容,本文介绍了Path环境变量和JAVA_HOME环境变量的原理和作用,纯手写,希望老铁们多多支持(●ˇ∀ˇ●)