前言

  学习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变量名不区分大小写。

java基础—配置环境变量的更多相关文章

  1. java基础--配置环境变量的意义

    0.jre和jdk jre(java runtime environment) 运行java程序要用的Java运行环境 jdk:java开发人员要用的java开发环境,包括jre 1.JAVA_HOM ...

  2. 深入理解Java中配置环境变量

    深入理解Java中配置环境变量 配置的目的: 本来只在安装JDK的bin目下能运行java.exe,javac.exe,jar.exe,javadoc.exe等Java开发工具包命令,我们现在想让在所 ...

  3. Python Java 快速配置环境变量(Path)

    Python Java 快速配置环境变量(Path) 最近系统被重置,清空了C盘中的program等文件夹以及初始化了环境变量. 通常环境下,在windows环境中我们都会打开"环境变量&q ...

  4. java基础知识--环境变量配置

    说到java,大家应该都了解:J2SE基础.J2ME嵌入式.J2EE延伸的内容,而我们平时接触和所谈大部分都是J2EE企业级应用开发. 作为开发者,使用java之前,必须安装java开发环境,配置ja ...

  5. Java基础—JDK环境变量配置

    1.安装JDK 下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意点 ...

  6. 认识 Java(配置环境变量)

    1. Java 简介 Java由Sun Microsystems公司于1995年5月推出,是一种面向对象的编程语言.在2009年4月20号,ORACLE (甲骨文)收购了 Sun 公司,也就是说 Ja ...

  7. JAVA、JDK等入门概念,下载安装JAVA并配置环境变量

    一.概念 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具体介绍可查阅百度JAVA百科,这里不再赘述. Java分为三个体系,分别为: Java SE(J2SE,Java2 Platf ...

  8. Java JDK配置环境变量

    JDK的配置环境变量. 1.下载JDK,然后安装(点下一步). 2.右键单击  "计算机" ,选择  "属性".   3.单击 "高级系统设置&quo ...

  9. Windows 安装Java与配置环境变量

    window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloa ...

随机推荐

  1. 715. Range Module

    A Range Module is a module that tracks ranges of numbers. Your task is to design and implement the f ...

  2. FZU2216【二分】

    题意: 百度. 思路: 一个连续数组111222233344444555666的每一个起伏转折即需要一张万能牌. 然后二分一下得最长区间. #include<cstdio> #includ ...

  3. 蓝桥杯T32(树的直径)

    题目链接:http://lx.lanqiao.cn/problem.page?gpid=T32 题意:中文题诶- 思路:显然给出的地图是一颗树,若能求得树的直径 ans,则答案为:ans*(ans+1 ...

  4. 719D(树形dp)

    题目链接:http://codeforces.com/contest/791/problem/D 题意:给出一棵树,每两个点之间的距离为1,一步最多可以走距离 k,问要将任意两个点之间的路径都走一遍, ...

  5. IT兄弟连 JavaWeb教程 AJAX中参数传递问题

    使用Ajax发送GET请求并需要传递参数时,直接在URL地址后拼接参数,格式如下: xhr.open('get','请求路径?参数名1=参数值1&参数名2=参数值2...',true); 使用 ...

  6. 【UVA - 136】Ugly Numbers(set)

    Ugly Numbers Descriptions: Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequ ...

  7. es备份索引

    1.解压https://github.com/medcl/esm-abandonedhttps://github.com/medcl/esm-abandoned/releases tar xf lin ...

  8. [SDOI2013]随机数生成器

    Description Input 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数. 接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据.保证X1和t都是合法的页码. 注意 ...

  9. Net Core 2.0 Redis

    Net Core 2.0 Redis配置.封装帮助类RedisHelper及使用实例 https://www.cnblogs.com/oorz/p/9052498.html 本文目录 摘要 Redis ...

  10. PHP&Java 调用C#的WCF

    步骤一:用C#声明WCF [ServiceContract] public interface IService1 { [OperationContract] void DoWork(); [Oper ...