JAVA JDK 环境变量配置 入门详解 - 精简归纳


JERRY_Z. ~ 2020 / 9 / 13

转载请注明出处!️



一、为什么java jdk 要配置环境变量

配置环境变量,可以使 jdk 全局生效!

因为我们没有配置 jdk 的环境变量,所以在没有在 jdk/bin 目录下是运行不了 java.exe (java 解释器) 和 javac.exe (java编译器) 的,当然我们也可以去 jdk/bin 目录下运行 java 程序啊,但我们在 bin 目录下通过启动 java.exe,然后再通过 javac.exe 要把一个 java 文件编译成 class 文件,这个 class 文件就生成在 jdk/bin 目录里了,这样的文件组织方式显然是不好的,所以我们需要把 jdk 配置到 path 里面,这样在任何目录下(全局)都能运行 java.exe 和 javac.exe 来编译 java 文件了,这样就不会让 jdk/bin 目录里有许多我们的 java 文件和 class 文件。


二、如何配置

(1)、首先,找到 jdk 的安装目录

以博主为例,进入这一层 C:\Program Files\Java\jdk1.8.0_121目录,复制以备后用。然后,通过“控制面板”进入“系统”属性,实际上直接选择“此电脑”点击右键选择“属性”即可:

(2)、如上图所示,点击“高级系统设置”,进入如下界面:

(3)、再点击“环境变量”,进入如下界面:

(4)、选择“系统变量”区域的“新建”功能,点击后,进入如下界面:

(5)、设置系统变量名为JAVA_HOME

变量值为C:\Program Files\Java\jdk1.8.0_121,点击“确定”,然后打开“系统变量”区域的Path,将这条语句 ;%JAVA_HOME%\bin 追加到 Path 变量值的最后面,如下图所示:

(6)、至此,环境变量就已经设置完啦!

但是空口无凭啊,我们再验证一下,用事实说话。因此,打开“命令行窗口”,输入命令java,结果如下图所示:

(7)、再输入命令javac,结果如下图所示:

(8)、说明:

<1>、如上图所示的结果,已经可以证明我们的环境变量配置成功啦!不过说实话,我们在C盘验证不是很好,因为配置环境变量就是为了在其它位置(如D盘)也可以运行 jdk,我们都把 jdk 安装到C盘了,再在C盘进行验证就有些取巧了,因为就算环境变量没有配置成功,如果我们进入相应的安装目录下,也是可以运行 jdk 的。因此,我们来一个狠的,直接在D盘的根目录下创建一个.java文件,然后在“命令行窗口”编译并运行,如果这样做还能成功的话,那毫无疑问,环境变量我们肯定配置成功啦!

如上图所示,我们先在D盘的根目录下创建一个名为 HelloWorld.txt 文件,输入代码,然后我们再修改文件的后缀 .txt 为.java即可。最后,在“命令行窗口”输入命令

观察运行结果,显然我们的环境变量配置成功啦!

<2>、为啥要配置 JAVA_HOME,一定要用 JAVA_HOME 命名吗?

我们电脑如果装了多个版本的 jdk,我们只需要在 JAVA_HOME 中把 jdk 的目录添加进去,而不用在 path 里面加 bin 目录的路径

因为有些开发工具,如(eclipse,IDEA, tomcat)都会去扫描你的JAVA_HOME 变量,看看你的电脑装了几个版本的 jdk。可以不用 JAVA_HOME 这个名字当参数名,那么有些软件启动需要 JAVA_HOME,例如 tomcat,当你不用这个命名,你就需要去修改 tomcat 的 bin 目录下的 catalina.bat 文件,才能启动 tomcat,何必呢?

<3>、我们为什么没有配置 CLASSPATH 变量?

jdk1.5 之后就不用再配置 CLASSPATH了,当然,我们为了保证向下兼容,也可以配置上为好!


三、附

本文第二部分内容来源于:https://blog.csdn.net/qq_35246620/article/details/61208961?ops_request_misc=%7B%22request%5Fid%22%3A%22159996354219195188335008%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=159996354219195188335008&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-61208961.pc_ecpm_v3_pc_rank_v3&utm_term=jdk环境变量配置&spm=1018.2118.3001.4187

交流方式:

️ ️ ️

QQ: 1846334075

WeChat: zhoujirui54

CSDN:https://blog.csdn.net/D_si_God

Cnblogs:https://www.cnblogs.com/JERRY-Z-J-R/

GitHub:https://github.com/JERRY-Z-J-R

Gitee:https://gitee.com/JERRY-Z-J-R

JAVA JDK 环境变量配置 入门详解 - 精简归纳的更多相关文章

  1. Python安装与环境变量配置 入门详解 - 精简归纳

    Python安装与环境变量配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 24 转载请注明出处!️ 目录 Python安装与环境变量配置 入门详解 - 精简归纳 一.下载Py ...

  2. GoSDK的安装及环境变量配置 入门详解 - 精简归纳

    GoSDK的安装及环境变量配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 29 转载请注明出处!️ 目录 GoSDK的安装及环境变量配置 入门详解 - 精简归纳 一.进入G ...

  3. JDK安装与基础环境变量配置 入门详解 - 精简归纳

    JDK安装与基础环境变量配置 JERRY_Z. ~ 2020 / 9 / 17 转载请注明出处!️ 目录 JDK安装与基础环境变量配置 一.下载 二.安装 (1).双击.exe文件 (2).全选安装工 ...

  4. Sublime Text3 for Java 编译运行环境配置 入门详解 - 精简归纳

    Sublime Text3 for Java 编译运行环境配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 24 转载请注明出处!️ 目录 Sublime Text3 for ...

  5. gcc g++ 安装与配置 入门详解 - 精简归纳

    gcc g++ 安装与配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 24 转载请注明出处!️ 目录 gcc g++ 安装与配置 入门详解 - 精简归纳 一.下载MinGW ...

  6. Cisco思科模拟器 交换机IP地址的配置 入门详解 - 精简归纳

    Cisco思科模拟器 交换机IP地址的配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 10 转载请注明出处!️ 目录 Cisco思科模拟器 交换机IP地址的配置 入门详解 ...

  7. Cisco思科模拟器路由器各个端口IP地址的配置及路由协议RIP的配置 入门详解 - 精简归纳

    Cisco思科模拟器路由器各个端口IP地址的配置及路由协议RIP的配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 11 / 21 转载请注明出处!️ 附: 交流方式: ️ ️ ️ Q ...

  8. 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 ...

  9. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

随机推荐

  1. C#LeetCode刷题之#507-完美数(Perfect Number)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3879 访问. 对于一个 正整数,如果它和除了它自身以外的所有正因 ...

  2. Vue Vuex中的严格模式/实例解析/dispatch/commit /state/getters

    严格模式 import getters from './getters' import mutations from './mutations' import actions from './acti ...

  3. java.util.Scanner中hasNext()方法和next()方法的区别

    先说结论: 两者均根据空格划分数据 两者在没有数据输入时均会等待输入 next()方法会将空格划分的数据依次输出,运行一次,输出一个 hasNext()方法会跟着next()方法移动,当前数据不为空, ...

  4. [Kong 与 Konga与postgres数据库] 之 Kuberneres 部署

    1.Kong的概述 Kong是一个clould-native.快速的.可扩展的.分布式的微服务抽象层(也称为API网关.API中间件或在某些情况下称为服务网格)框架.Kong作为开源项目在2015年推 ...

  5. Autocad.net利用Xaml创建Ribbon界面

    0.Ribbon界面 Ribbon界面设计语言最早于Office 2007出现,后来逐渐被其他Windows系统组件采用,一些专业软件也开始以Ribbon界面取代传统菜单栏设计.Ribbon设计语言显 ...

  6. 【算法•日更•第五十期】二分图(km算法)

    ▎前言 戳开这个链接看看,惊不惊喜,意不意外?传送门. 没想到我的博客竟然被别人据为己有了,还没办法投诉. 这年头写个博客太难了~~~ 之前小编写过了二分图的一些基础知识和匈牙利算法,今天来讲一讲km ...

  7. 浏览器自动化的一些体会9 webBrowser控件之零碎问题3

    WebBrowser控件最大的优点是可以轻松嵌入win form程序中,但是微软好像对这个控件没什么兴趣,这么多年了还没有改进,结果造成一堆问题. 1. 不支持https 2. 缺省模拟ie 7,如果 ...

  8. 前端进阶必读:《JavaScript核心技术开发解密》核心提炼二

    前言 最近读勒基本关于前端的数据<JavaScript核心技术开发解密>,<webpack从入门到进阶>...这几本书帮助到我更好的理解JS.webpack在前端技术领域中的作 ...

  9. python接口自动化 - 断言(上)

    我们在做接口自动化的时候会用当unittest框架,这个框架中是有assert方法 当我们写好我们的case后 总要有个验证是否正确的东西,assert就给我们提供了非常强大的结果验证 序号 断言方法 ...

  10. JavaScript 空间坐标

    基础知识 首先参考画布分为视口(窗口)与文档的含义 网页很多都是多屏,所以文档尺寸一般大于视口尺寸 视口尺寸不包括浏览器工具条.菜单.标签.状态栏等 当打开控制台后,视口尺寸相应变小 文档像posit ...