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. ES读写流程

    简述ES的写流程,GET读取数据流程和Search搜索数据流程. ES的读写流程主要是协调节点,主分片节点.副分片节点间的相互协调. ES的读取分为GET和Search两种操作.GET根据文档id从正 ...

  2. 我的第一个程序Hello world

    //include:导入一个文件:stdio:标准输入输出库(std是一个标准库:i:input:o:output:):.h:头文件:<>:表示导入系统文件:“”表示导入系统文件 #inc ...

  3. python中os模块操作

    学习时总结的一些常用方法>>>> 目录函数 os.getcwd() 返回当前工作目录 os.chdir() 改变工作目录 os.listdir(path="path& ...

  4. (转)C# 获取当前路径的7中方法

    //获取模块的完整路径. string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; //获取 ...

  5. 关于Exceptionless日志收集框架会被Fiddler抓包,从而获取到ApiKey的问题

    关于Exceptionless日志收集框架会被Fiddler抓包,从而获取到ApiKey的问题 环境:Exceptionless5.0.0.Linux.WPF客户端.Fiddler 问题:在使用Exc ...

  6. 无锁机制----比较交换CAS Compare And Swap

    一.锁与共享变量 加锁是一种悲观的策略,它总是认为每次访问共享资源的时候,总会发生冲突,所以宁愿牺牲性能(时间)来保证数据安全. 无锁是一种乐观的策略,它假设线程访问共享资源不会发生冲突,所以不需要加 ...

  7. 简单说说mybatis是防止SQL注入的原理

    mybatis是如何防止SQL注入的 1.首先看一下下面两个sql语句的区别: <select id="selectByNameAndPassword" parameterT ...

  8. Jmeter 常用函数(15)- 详解 __StringFromFile

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 从文本文件读取字符串,每次一行 需要注意 ...

  9. Jmeter 常用函数(22)- 详解 __intSum

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 计算两个或多个整数值的和 语法格式 ${ ...

  10. JavaScript学习系列博客_28_JavaScript 数组去重

    数组去重 var arr = [1,2,3,2,2,1,3,4,2,5]; //去除数组中重复的数字 //获取数组中的每一个元素 for(var i=0 ; i<arr.length ; i++ ...