必威体育Betway必威体育官网
当前位置:首页 > IT技术

JDK环境变量配置详细解析

时间:2019-09-30 12:13:18来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

jdk环境变量

以前只知道傻傻的跟着教程配置jdk环境变量

今天看了点资料,仔细的学习了一下,明白了为什么这么配置,还学了一些花里胡哨的玩意,

总结一下。

环境变量的配置过程(以Win10为例,大同小异)

1.右键单击“我的电脑”,单击“属性”,点开“高级系统设置”,点开它:

这里写图片描述

3.点上面的“高级”,然后点下面的“环境变量”,然后弹出来:

这里写图片描述

4.在下面找到Path,点击,然后“编辑”:

这里写图片描述

5.下面那一行,加上一行字:;xxxx\bin;

注意,开头和结尾各有一个分号

其中的xxxx是你的jdk安装目录,例如我的jdk安装目录是:“C:\Program Files\java\jdk1.8.0_60”,那么我上面加上的一行就应该是;C:\Program Files\Java\jdk1.8.0_60\bin;

加上的一串字可以加在开头,也可以加在结尾,当然也可以加在中间,但是夹在中间是有一些要注意的地方的,所以不推荐,推荐的是加在开头

6.然后一路“确定”就ok了。

7.打开命令提示符(win+r后输入cmd即可),输入“javac”,如果出来下面的一大堆,就说明成功了。(如果不成功的话,请再(jin)试(zao)一(fang)遍(qi)。)

这里写图片描述

为什么要配置环境变量?

首先看看环境变量的解释:

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

(来源:百度百科)

其中有一句话很关键,“当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。

我们先撇开这些不谈,我们没有配置环境变量的时候想要运行javac命令应该怎么办呢?

打开cmd直接输入javac?显然不可以:

这里写图片描述

显示的是“javac不是内部或外部命令,也不是可运行的程序或批处理文件。”,这跟你瞎打一行乱七八糟的东西是一样的,对windows来说是一样的,它都看不懂。我们要向执行javac,必须找到这个可执行文件的位置,然后系统就会在那里找到javac程序,才能够执行。

也就是先cd c:\Program Files\Java\jdk1.8.0_60\bin,进入javac所在的目录,再javac命令,这样才可以运行:

这里写图片描述

所以,以后每次编译java程序的时候,都要进入这个目录或者打上这个目录的地址,系统才会到这个地方找到javac程序,才会运行。

这多麻烦啊!

再想想为什么有的命令可以,有的命令不可以呢?是因为cmd会在当前目录下找有没有符合的命令(可执行文件),如果找不到的话?这个就回到开头对环境变量的解释了,“当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找”,所以如果当前目录下找不到,系统就会在环境变量path中列举的目录依次去找。如果在这些目录中找到了就会执行,找不到才是会显示找不到。

所以我们把javac所在的目录也列入环境变量path中,这样的话,在计算机的任意位置执行javac是都可以的了。

还有没有什么问题?

这样把环境变量配置了,可以一劳永逸的使用那些命令了。但是还是会产生一些问题:我们如果想把jdk换一个地方储存,或者是把jdk改个名字,再或者版本升级新版的把旧的替换掉,所有这些会导致javac所在目录路径发生变化的事情,都会导致原有的环境变量配置都需要做出新的调整。这个时候有没有发现path很长,windows默认的窗口根本盛不下,每次添加修改的时候都得小心翼翼?而且我们发现,比如上面添加的;C:\Program Files\Java\jdk1.8.0_60\bin;,这些内容再怎么变化,也是中间的目录C:\Program Files\Java\jdk1.8.0_60发生变化,其他的是不会变化的。

所以就有了这个办法:我们规定一个东西,比如“AAA”吧,它就等于“C:\Program Files\Java\jdk1.8.0_60”,那么,原来的环境变量不就变成了;AAA\bin;了吗,这样我们每次修改的时候,只大胆的修改AAA就可以了,path里面添加的那些东西,就不用再如履薄冰地动它了。

但是,上面的只是我们的设想,在windows下,自有一套这样的做法,我们新建一个环境变量,也就是上面的AAA,我们通常起名为“JAVA_HOME”,然后把它的值设为C:\Program Files\Java\jdk1.8.0_60,然后在path里面添加“;%JAVA_HOME%\bin;”,这两个百分号括起来的东西,就是动态获取环境变量的值,会让系统自己去找它所指代的东西。这样,每次有变化的话就只修改JAVA_HOME里的值就可以了。

甚至可以想的再极限一点,在path里的那一大长串,我们的java环境变量放在前面,后面,还是中间呢?当然是前面更好一些,因为系统是从前往后找的,所以放在前面,会更快。(至于快多少,哈哈哈哈_

##花里胡哨:怎么配置个临时环境变量?

有些情况下,如果我们希望配置一些环境变量,但是我们只是希望它能暂时的起作用,等会这个环境变量消失或者恢复原样就可以了。也就是我们希望配置一个临时的环境变量,这个时候怎么办呢?

这个时候我们需要用到一个命令“set”,我们在命令提示符窗口下输入set,会显示出所有的环境变量:

这里写图片描述

而我们在set后面加上具体的环境变量,就会显示某个环境变量的具体数值,例如:set path

这里写图片描述

如果再在后面加上=XXX,例如:set path=test,这样就会把该环境变量改变为某个值,再用set path查看一下:

这里写图片描述

我们可以看到,path的值已经发生了变化,但是这个时候我们再打开一个新的命令提示符窗口,输入set path查看path环境变量的值,发现还是原来的值:

这里写图片描述

所以利用这个思路,我们可以临时配置一个环境变量。

就是在命令提示符窗口中,输入set path=C:\Program Files\Java\jdk1.8.0_60\bin,就可以了,这样再使用javac是可以的。

但是这样还是有一个问题:path的值现在只有这一个了,其他的一些命令可能又没法使用了,所以我们还得改进方法,做到在path原来的基础上,添加新的值,而且不破坏旧的。

还记得之前说的两个百分号括起来的东西吗,动态获取环境变量值,我们可以利用它来做点事情,比如上面我们已经将环境变量设为javac的目录了,我们想再加上一个值,比如加上“have_a_try”,我们输入“set path=have_a_try;%path%”就可以了。

这里写图片描述

我们可以看到,path的值已经按照我们的意愿发生变化了,而且这个path是个临时的值,关掉以后就会影响恢复了。

[END]


也没有什么很难的地方,就是有一些以前从来没想过的东西,现在知道了为什么,怎么做。哈哈哈哈^_^

如有纰漏,望不吝指出,不胜感激。

相关阅读

windows防火墙配置(以windows server2008为例)

1.背景:前置机时常出现病毒攻击,严重影响业务的正常进行。现采取防火墙限制访问的方式配合杀毒软件的方式进行处理,限制所有的外部访

为什么要配置环境变量

目录 一、环境变量怎么配置 一、为什么要配置环境变量 三、什么工具需要配置 四、环境变量中用户变量和系统变量的区别 从接触 ja

高逼格高性价比电脑配置 5000元i5-6500+RX470中高端主

对于中高端装机玩家来说,AMD新发布的RX 460/470显卡是不错的选择,其中性能更强的RX 470搭配i5 6500是不错的中高端装机方案。今天se

SNMP配置

SNMP配置SNMP简介目前网络中用得最广泛的网络管理协议是SNMP(Simple Network Management Protocol,简单网络管理协议)。SNMP是被

Log4J.xml配置详解

AppenderAppender:日志输出器,配置日志的输出级别、输出位置等,包括以下几类:ConsoleAppender: 日志输出到控制台;FileAppender:输出到

分享到:

栏目导航

推荐阅读

热门阅读