文章目录

  • 前言
  • 一、什么是环境变量?
    • 1.Path环境变量
    • 2.用户变量与系统变量的区别
  • 二、配置JDK的Path变量以及JAVA_HOME变量
    • 1.配置JDK的Path变量
    • 2.配置JAVA_HOME变量
  • 总结

前言

现在网上各种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只针对你当前用户生效每个计算机可以创建很多用户,一般来说如果电脑是自己用的话,当前用户只有一个就是你自己)。

二、配置JDK的Path变量以及JAVA_HOME变量

相信根据上一节的讲解,老铁们也知道为什么要设置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环境变量的原理和作用,纯手写,希望老铁们多多支持(●ˇ∀ˇ●)

开发环境安装时为什么要设置环境变量?相关推荐

  1. go环境安装时遇到的问题

    go环境安装时遇到的问题 go语言简介 go安装包下载 Vscode 下配置的问题 Go Vs code安装tools失败的解决方法 Go Vs code安装tools失败的解决方法 2 VScode ...

  2. 库 01_EOS 普元 EOS Platform 7.6 开发版安装时没装coframe,后续再部署coframe源码的操作步骤

    元数据起始 [解答] 一.环境:EOS Platform 7.6 开发版(未装Coframe).Mysql5.5,安装时已初始化 二.所用介质:操作步骤里的介质均从 http://pan.baidu. ...

  3. 普元 EOS Platform 7.6 开发版安装时没装coframe,后续再部署coframe源码的操作步骤

    [解答] 一.环境:EOS Platform 7.6 开发版(未装Coframe).Mysql5.5,安装时已初始化 二.所用介质:操作步骤里的介质均从  https://pan.baidu.com/ ...

  4. Go语言环境安装,验证go语言环境、使用文本编辑器编写一个go hello world,Go lang IDE安装,在golang中新建一个go程序

    1 Golang语言环境安装包下载 https://www.golangtc.com/ 下载: go1.9.2.windows-amd64.msi 和 go1.9.2.windows-amd64.zi ...

  5. anaconda环境安装搜不到的环境

    开始::以pgmpy为例(个人笔记) 打开anaconda prompt activate idsgame 激活一个环境,在这个环境下进行安装没有的包 anaconda search -t conda ...

  6. Debian 7环境安装TightVNC+Gnome远程桌面环境

    昨天下午的时候一个Hostus网友希望在购买的VPS主机中安装桌面环境用来跑软件项目,其实也是我们很多用户习惯的VNC桌面,毕竟在LINUX服务器中也无法去安装WINDOWS系统,尤其是OPENVZ架 ...

  7. openssl开发库安装时的踩坑指南

    序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...

  8. ubuntu安装时系统分区设置

    硬盘我是设置20G (1)创建主分区(定义根文件系统):主分区,用于存放系统 15G    主分区    空间起始位置    Ext4日志文件系统 (2) 创建swap分区:逻辑分区.大小设置为电脑内 ...

  9. Ubuntu安装时分区大小设置

    我的电脑内存8G /boot          主分区(ext4)            2G=2048M swap          主分区(swap area) 16G=16384M EFI 主分 ...

最新文章

  1. 【Webview相关问题】控制字符引发的惨案及Base64
  2. .NET跨平台之旅:将示例站点从ASP.NET 5 Beta7升级至RC1
  3. 应用程序控制策略——AppLocker
  4. 【新星计划】MATLAB绘制图形
  5. java pkcs#11读取证书加解密(初学-分享)
  6. wxHtml 示例:wxHtmlEasyPrinting 测试
  7. OpenGL渲染纹理和平面反射
  8. 实验2 递归下降语法分析程序设计
  9. 干货 | 阿里巴巴HBase高可用8年抗战回忆录
  10. 【转】Burp Suite详细使用教程-Intruder模块详解
  11. PowerJob 应对庞大任务的锦囊妙计:MapReduce
  12. Linux卷没有权限,linux – Docker主机安装的卷权限
  13. Datawhale打卡第2次
  14. Spring IOC学习
  15. net_speeder发双倍包加速
  16. 深入了解Spark SQL的Catalyst Optimizer
  17. 根据经纬度获取地理位置
  18. 如何注册和设置 zoom Background
  19. 生活小技巧:PS和word的结合使用
  20. 王者荣耀主播(孤王)过度劳累猝死 曾被誉为国服第一辅助

热门文章

  1. 笨方法学Python 习题 42: 对象、类、以及从属关系
  2. SIFT特征提取和匹配
  3. Vivado 安装后添加芯片型号方法
  4. matlab 实物仿真平台,AppSIM 实时半实物仿真平台
  5. Hibernate复合主键映射
  6. 静态树表查找算法及C语言实现,数据结构算法C语言实现(三十二)--- 9.1静态查找表...
  7. 252体现组间差异OTU模块的微生物网络图
  8. CRM系统为企业带来的8个好处
  9. 1bit和1byte_bit与字节Byte的区别和联系
  10. 德国亚琛大学计算机排名,德国大学排名,2021德国大学各大专业排名