当前位置:首页 > Java技术 > java环境变量配置

java环境变量配置

2022年08月06日 16:26:35Java技术2

参考孤傲苍狼大大。

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

一、配置JAVA_HOME变量

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

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

二、配置path环境变量

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


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

三、配置ClassPath变量

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

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

  4.1. 设置JAVA_HOME变量的目的

  一、为了方便引用,比如,JDK安装在D:\Program Files (x86)\Java\jdk1.7.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
  二、归一原则, 当JDK路径被迫改变的时候, 仅需更改JAVA_HOME的变量值即可。
  三、第三方软件会引用约定好的JAVA_HOME变量, 典型的就是tomcat服务器,如果不配置JAVA_HOME变量,那么tomcat服务器根本运行不起来

  4.2. Path变量(重点说明)

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

  

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

  

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

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

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

  

  因为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表示的是要查找的类所在的路径。

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

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

添加MAVEN_HOME用户变量

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

添加Path用户变量

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

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

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

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

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

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

作者:shyroke、
来源链接:https://www.cnblogs.com/shyroke/p/6217340.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/18335.html

分享给朋友:

“java环境变量配置” 的相关文章

Java空指针异常解决java.lang.NullPointerException解决心得

Java空指针异常解决java.lang.NullPointerException解决心得

今天做课设的时候运行程序报出以下错误 java.lang.NullPointerException 首先要理解的是此错误并不会在 程序中报错,只会在运行的时候报错。 是由于某个参数(集合,数组等数据)可能出现一个null值而导致后面的程序不能运行时...

java基础知识讲解(一)数据类型和运算符

java基础知识讲解(一)数据类型和运算符

Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。 Java中定义了3类8种基本数据类型 数值型- b...

深入理解 Java 并发锁

深入理解 Java 并发锁

📦 本文以及示例源码已归档在 javacore 一、并发锁简介 确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的...

全面了解 Java 原子变量类

📦 本文以及示例源码已归档在 javacore 一、原子变量类简介 为何需要原子变量类 保证线程安全是 Java 并发编程必须要解决的重要问题。Java 从原子性、可见性、有序性这三大特性入手,确保多线程的数据一致性。 确保线程安全最...

Java 内存模型

Java 内存模型

📦 本文以及示例源码已归档在 javacore Java 内存模型(Java Memory Model),简称 JMM。 JVM 中试图定义一种 JMM 来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。...

Java日志框架那些事儿

Java日志框架那些事儿

在项目开发过程中,我们可以通过 debug 查找问题。而在线上环境我们查找问题只能通过打印日志的方式查找问题。因此对于一个项目而言,日志记录是一个非常重要的问题。因此,如何选择一个合适的日志记录框架也非常重要。在Java开发中,常用的日志记录框架有JDKLog、Log4J、LogBack、SLF4J...

Java实现素数的判断

素数的定义只能被1和它本身整除,不包括1 例 2.3.5.7.11.13 实现代码 Scanner in=new Scanner(System.in); int n ; n=in.nextInt(); for(int n1=2;n1&l...

java之整数的分解可以理解为倒序输出

Scanner in=new Scanner(System.in); int number ; number=in.nextInt(); int result=0; do{ int diget=number%10;...

java计数循环及小技巧

要运行一个很大次数的循环应该选择一个小数,然后去判断 例如本例子是100可以选择10去判断 public static void main(String[] args) { // TODO Auto-generated metho...

java数数字及while和do while 的使用,以及程序的调试与验证

while的条件是在进入循环体之前判断的,执行完一轮循环之后,会再回到循环开始的地方再次判断条件,而不会在循环体中随时判断条件 1.while语句是当条件满足时不断的执行循环体内语句。 2.会提前判断是否满足条件,所以有可能一次也没有执行。 3.条件成立...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。