Java环境变量配置 - Windows

文本关键字:Java、环境变量、JAVA_HOME、Path、ClassPath

  • 阅读先导:本文适合需要进行环境变量配置并希望弄懂他们的小伙伴儿

刚刚接触编程的小伙伴都会有这样几个疑问:

  1. 为什么我安装完所谓的JDK还是什么的鬼的之后都找不到一个可以直接运行的程序?
  2. 安装完之后好像还需要配置一个叫做环境变量的东西,据说很重要。
  3. 到底怎么样才算配置成功,感觉电脑总是在欺负小白,遇到各种各样的问题。

首先我们先对涉及到的两个比较重要的概念做一下解释,相信会对你排查错误有所帮助,毕竟:稳着来,我们能赢。

一、环境变量

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

如果有一定计算机基础的同学也许是能够读懂大概的意思的,至少我们能知道临时文件夹、系统文件夹是什么意思。那么环境变量这个东西为什么会存在呢?主要还是为了使用上的方便。
大家知道,我们很多软件和游戏都是由各种编程语言实现的,包括整个操作系统本身也是一样。那么,我们在使用时都需要预先加载所需要的环境,或读取关键的系统信息和配置。如果每次都由用户来进行选择,或者修改每个软件的配置,那未免太麻烦了。

  • 环境变量打开步骤

右键计算机(此电脑) -> 高级系统设置
Java环境变量配置 - Windows
高级选项卡->环境变量
Java环境变量配置 - Windows
所以当我们的WIndows系统安装完成时,我们可以看到在环境变量中已经预设了一些。既然是变量,那就包括两部分:变量名称和变量的值。变量名称是为了标识、引用和读取变量值的,而变量值就是我们真正想保存的内容(通常会是一个关键的配置或路径)。这些环境变量的作用就是可以记录一些我们需要用到的路径和作用,这样在使用某些软件时就会很方便了。
系统预设环境变量
Java环境变量配置 - Windows
比如图片中的TEMP与TMP就是在设定一个临时目录位置,告诉其他软件,默认的临时文件存储位置,而软件在运行时也都会读取这个变量的值,这就让软件的使用变得十分的方便。

  • 用户变量:配置只在对当前用户生效
  • 系统变量:配置对系统所有用户生效

二、Path的作用

我们注意到在系统变量中存在着一个环境变量,名叫Path。说到这里大家注意不要把环境变量和Path变量混为一谈,他们之间是包含的关系。Path是一个具有特殊作用的环境变量,什么作用呢?重点来了!
Path本身翻译过来就是道路,路径的意思,所以首先明确,Path中存储的是很多条路径。那这些路径什么时候会被用到呢?当我们在命令窗口时使用一个个命令时,他们到底是运行出来的?这都要靠Path变量,当我们在执行一个命令时,会在Path设置的路径中进行搜索,看在这些路径中是否有你需要使用的命令。
所以,Path的作用就是:设置可执行文件(命令)的搜索路径的集合。

  • Windows系统:不同路径之间使用分号(;)隔开
  • Linux系统:不同路径之间使用冒号(:)隔开

三、配置JDK环境变量

经过以上两个概念的解读,那么我们现在要开始进行环境变量的配置了。

1. JAVA_HOME

首先需要配置的是一个我们自己定义的环境变量。

  • 变量名称:JAVA_HOME
  • 变量的值:JDK的完整安装路径

在系统变量中点击:新建
Java环境变量配置 - Windows
这样做的好处有两个:

  • 当我们以后的JDK版本更换了,或者改变了存放目录,只需要在这个变量中进行修改,而不需要在所有用到JDK路径的地方都去修改一遍
  • 其他需要用到JDK环境来运行的软件,首先会读取JAVA_HOME(这也是一个约定俗成的变量名车)的值,来找到JDK的所在路径

基于以上两点原因,请务必要这样配置!

2. Path

我们已经将JDK的值记录在了JAVA_HOME中,接下来就是想办法引用它,这个时候我们要借助几个符号。

  • Windows:%变量名称%,例:%JAVA_HOME%
  • Linux:$变量名称,例:$JAVA_HOME

选中系统变量中的Path -> 点击编辑
Java环境变量配置 - Windows
在窗口中添加如下内容:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意路径的前后之间都要有英文的分号隔开
如果打开之后显示如下界面,请再次点击:编辑文本
Java环境变量配置 - Windows
或者点击新建后,分别添加以下两条路径,此时不再需要分号

  • %JAVA_HOME%\bin
  • %JAVA_HOME%\jre\bin

3. CLASSPATH

首先我们还是来科普一下,ClassPath变量有什么用,我们到底用不用配置它。

  1. 如果你配置环境变量的作用仅仅是为了让Eclipse能够正常运行,那么你只需要将JAVA_HOME配置正确,一切就以大功告成,在编译器中可以正常的执行编译运行等操作。
  2. 如果你需要在命令窗口中体验一下Java程序编译运行的全过程,那么你需要将Path以及CLASSPATH变量都配置好。

那么,CLASSPATH这个变量的作用其实是帮助jvm找到需要执行的class文件以及所需要的库。一般来说,我们都会进入到源程序(.java文件)所在的目录,执行javac编译命令,那么class文件(Java字节码文件)自然就会产生在当前目录,所以我们首先要配置的就是当前目录,是的,就是当前目录,用一个英文句点(.)来表示,这样就可以直接代表你当前所在的位置。
另外就是所需要的库文件,这两个文件在JDK安装目录下的lib文件夹中,直接来进行配置。

  • 变量名称:CLASSPATH(大小写无要求,但字母一定要对,推荐全大写)
  • 变量的值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

在系统变量中点击:新建
Java环境变量配置 - Windows

四、注意事项

1. 必做姿势

在配置完成后,我们的检验方法就是在命令窗口中输入java和javac两个命令。但是此时一定要做这两个操作(十分重要):

  • 将环境变量的配置界面完全保存关闭
  • 重新打开一个命令窗口

这样刚刚配置的环境变量才会生效,成功界面如图:

  • java:

Java环境变量配置 - Windows

  • javac:

Java环境变量配置 - Windows