java 环境变量配置_java环境变量的详细配置「建议收藏」

java 环境变量配置_java环境变量的详细配置「建议收藏」前言学习java的第一步就要搭建java的学习环境,首先是要安装JDK,JDK安装好之后,还需要在电脑上配置”JAVA_HOME”、”path”、”classpath”这三个环境变量才能够把java的开发环境搭建好。在没安装过jdk的环境下,path环境变量是系统变量,本来存在的,而JAVA_HOME和classpath是不存在的。一、配置JAVA_HOME变量操作步骤(win7系统):计算机…

大家好,又见面了,我是你们的朋友全栈君。

前言

学习java的第一步就要搭建java的学习环境,首先是要安装JDK,JDK安装好之后,还需要在电脑上配置”JAVA_HOME”、”path”、”classpath”这三个环境变量才能够把java的开发环境搭建好。在没安装过jdk的环境下,path环境变量是系统变量,本来存在的,而JAVA_HOME和classpath是不存在的。

一、配置JAVA_HOME变量

操作步骤(win7系统):计算机→右键“属性”→高级系统设置→高级→环境变量,如下图所示:

eca65703daab422b5070aef8eee9af54.png
793bc53469d767a3778418d48be93165.png
0d5c30c1f9866d07bca789e56b0689e5.png
44383b2e7d92539532efae65f4912413.png

点击系统变量下面的“【新建】”,弹出一个新建系统变量对话框,首先在变量名写上JAVA_HOME,顾名思义,JAVA_HOME的含义就是JDK的安装路径,,然后在变量值写JDK的安装路径,如这里设置的变量值是”D:Program Files (x86)Javajdk1.7.0“,设置好变量值之后,点击【确定】按钮,JAVA_HOME环境变量就设置完成,如下图所示:系统变量中多了一个”JAVA_HOME”变量

88fd1f36279577cf352e50802b0b237f.png

二、配置path环境变量

操作步骤(win7系统):计算机→右键“属性”→高级系统设置→高级→环境变量

109ca6fa7bc493958bd35d194613181d.png

找到系统变量中的Path变量,点击【编辑】按钮,弹出编辑系统变量的对话框,可以看到,Path变量中设置有很多的目录,每个目录之间使用;(分号)隔开,将%JAVA_HOME%bin;添加到Path变量的变量值中,点击【确定】按钮,Path环境变量的就设置完成了,如下图所示:

bd6f6f2432affefaa328e55b4552f96b.png

三、配置ClassPath变量

设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序(.class文件),关于这个ClassPath变量,其实可以不用配置了,在网上经常看到Classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%liboos.jar,但学习java这么久发现,不配置ClassPath也不影响java项目的开发和运行的。

四、JAVA_HOME变量、Path变量、ClassPath变量的说明

4.1. 设置JAVA_HOME变量的目的

一、为了方便引用,比如,JDK安装在D:Program Files (x86)Javajdk1.7.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;

二、归一原则, 当JDK路径被迫改变的时候, 仅需更改JAVA_HOME的变量值即可。

三、第三方软件会引用约定好的JAVA_HOME变量, 典型的就是tomcat服务器,如果不配置JAVA_HOME变量,那么tomcat服务器根本运行不起来

4.2. Path变量(重点说明)

操作系统用path的路径来找可执行程序(.exe程序),在windows下当我们敲任何一个命令时,实际上就是在执行一个可执行文件,如输入notepad命令就可以打开一个记事本

5604f1c569319cd968207e65f5aa55a9.png

实际上是执行了c:Windows下的notepad.exe这个可执行文件,和用鼠标双击notepad.exe后能够打开一个记事本的效果是一样的

2340c516c7ba00ddec304eabf7e0fa35.png

当在命令窗口敲一个命令时,系统就会去自动寻找这个命令对应的可执行文件(.exe),如果这个文件不存在,就当然无法执行这个命令了。这个可执行文件的根目录必须设置在path环境变量中。

4.3.在命令窗口显示path设置的环境变量

直接输入“echo %path%”命令就可以显示设置的path环境变量的所有根目录了,只要是根目录里面存在相应的.exe文件,敲入命令时就能执行这个相应的.exe文件。

02997ba960046baa816e310d392019ea.png

因为notepad.exe所在的Windows目录已经添加到了Path环境变量中了,这就解释了为什么输入命令notepad就可以打开一个记事本,所以前面配置java开发环境时,将%JAVA_HOME%bin添加到Path变量中的目的就是希望可以在命令行窗口下使用javac和java这两个命令来执行javac.exe和java.exe这两个可执行程序。

4.4.Classpath变量说明

使用javac命令编译.java文件时,如果需要其他的类,也是通过classpath去找的,

使用java命令执行.class文件时,执行的.class文件是通过classpath去找的。

classpath表示的是要查找的类所在的路径。

五、用户变量和系统变量的区别

f943db2fda3cc83c6d9ec737f513726f.png

从上面的图中可以看到,环境变量中有两种变量,一种是用户变量,另一种是系统变量,那么这两种变量有什么区别呢?用户变量,顾名思义,是针对某一个特定的用户的,只对特定的用户有效,而系统变量,则对任何用户都有效。下面以配置Maven的开发环境来进行具体说明用户变量和系统变量的区别

添加MAVEN_HOME用户变量

328c04292cdfba31c6e3a08d4c2de29e.png

点击用户变量的【新建】按钮,弹出新建用户变量对话框,输入要新建的变量名和变量值,点击【确定】按钮,新的用户变量就创建好了,如下图所示:

ae322bea7f6b3caca63a94df83f0c669.png

添加Path用户变量

6cee3a19033009a4d54de11a02893411.png

这里是在当前登录系统的gacl用户的用户变量里面添加了2个新的用户变量:MAVEN_HOME用户变量和Path用户变量,MAVEN_HOME变量和Path变量只对gacl用户有效,使用别的用户登录是无效的。

现在可以看到了,环境变量中存在了2个Path变量,一个是用户变量Path,一个是系统变量Path,

f4afbecada71d74b32d5b84807a97904.png

那么当需要使用Path变量的值时,到底使用哪一个Path呢,怎么区分这两个Path呢?当需要使用Path环境变量时,操作,系统的做法是把用户自己创建的Path用户变量的值和path系统变量的值叠加在一起来使用,或者可以理解成操作系统会把Path用户变量的值加入到Path系统变量中,然后使用的时候使用的是系统变量的Path。

没有添加用户变量Path前,Path变量的值就是系统变量Path里面设置的值,如下图所示:

b510fb2458e6f721e644115743fe3d51.png

添加用户变量Path后,Path变量的值=系统变量Path里面设置的值+用户变量Path中设置的值,如下图所示:

ebfa529e9a32b143535ed3a0e3a5de31.png

在Windows下,环境变量不区分大小写,所以path变量名不区分大小写。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156381.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 钉钉E应用开发踩过的小坑之钉钉官网有两个全局错误码链接,啥区别??

    钉钉E应用开发踩过的小坑之钉钉官网有两个全局错误码链接,啥区别??童鞋们注意下:做钉钉平台内部开发的有没有注意到官网有两个全局错误码链接(我只看到两个目前):https://open-doc.dingtalk.com/microapp/serverapi2/npfg02这是一个含错误码和说明(我一直看的是这个全局错误码,只看说明的话满脑子是问号啊O(∩_∩)O哈哈~)而https://open-doc.dingtalk.com/doc2/detai…

    2022年5月2日
    108
  • oracle字符串拼接

    一、“||”拼接类似于“+”号二、CONCAT()函数除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,但是只支持两个字符:三、多个CONCAT()函数嵌套如果需要拼接多个字符串,可以进行嵌套:…

    2022年4月5日
    118
  • mysql前缀索引使用,Mysql:前缀索引与索引[通俗易懂]

    mysql前缀索引使用,Mysql:前缀索引与索引[通俗易懂]可以像普通索引一样使用mysql前缀索引吗?如果有一些TEXT列,则前缀索引的长度为例如1,查询是:SELECT*FROMtableWHEREtextcol=’ab’它会给我所有以’a’开头的行还是会检查整列值?一般来说,我很想知道使用前缀索引时是否有任何警告.不考虑性能,如果任何查询必须以不同方式编写,或者客户端是否必须执行额外逻辑,则更多.解决方法:如果你想一下,MySQL仍会给你…

    2022年5月10日
    41
  • 嵌入式系统基础知识——之嵌入式微处理器体系结构(1.2)「建议收藏」

    嵌入式系统基础知识——之嵌入式微处理器体系结构(1.2)「建议收藏」1.2嵌入式微处理器体系结构1.2.1 冯诺依曼与哈弗结构1、冯诺依曼结构也称为普林斯顿结构,即程序将指令存储器和数据存储器合并在一起的存储结构,程序与数据公用1个存储空间,只是程序指令存储地址与数据存储地址指向同一存储器的不同物理地址;采用单一的地址及数据总线,程序指令与数据的宽度相同,在告诉运算时,传输通道上存在着瓶颈效应。主要包括:英特尔的8086,ARM7、MIPS等微

    2022年9月28日
    2
  • sql中对嵌套查询的处理原则_sql的多表数据嵌套查询

    sql中对嵌套查询的处理原则_sql的多表数据嵌套查询在做嵌套查询时,如果嵌套的条件在另一张表中没有数据,则会报错。这时候可以用:

    2022年8月10日
    6
  • 从excel文件xlsx中特定单元格中提取图片「建议收藏」

    从excel文件xlsx中特定单元格中提取图片「建议收藏」第一种网上通用的用xlsx改zip压缩包,能批量提取出图片。但是无法知道图片在单元格中的顺序信息。另一种方法,通过`fromopenpyxl_image_loaderimportSheetImageLoader`功能已实现好,在github仓库开源,觉得好用请star该库可以实现excel文件转mysql、sqlite等(基于SQLAlchemy)链接传送门pipinstall-rrequrements.txtx=xlsx_pic(‘./test.xlsx’)#

    2022年7月13日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号