java基础—配置环境变量
前言
学习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基础—配置环境变量的更多相关文章
- java基础--配置环境变量的意义
0.jre和jdk jre(java runtime environment) 运行java程序要用的Java运行环境 jdk:java开发人员要用的java开发环境,包括jre 1.JAVA_HOM ...
- 深入理解Java中配置环境变量
深入理解Java中配置环境变量 配置的目的: 本来只在安装JDK的bin目下能运行java.exe,javac.exe,jar.exe,javadoc.exe等Java开发工具包命令,我们现在想让在所 ...
- Python Java 快速配置环境变量(Path)
Python Java 快速配置环境变量(Path) 最近系统被重置,清空了C盘中的program等文件夹以及初始化了环境变量. 通常环境下,在windows环境中我们都会打开"环境变量&q ...
- java基础知识--环境变量配置
说到java,大家应该都了解:J2SE基础.J2ME嵌入式.J2EE延伸的内容,而我们平时接触和所谈大部分都是J2EE企业级应用开发. 作为开发者,使用java之前,必须安装java开发环境,配置ja ...
- Java基础—JDK环境变量配置
1.安装JDK 下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意点 ...
- 认识 Java(配置环境变量)
1. Java 简介 Java由Sun Microsystems公司于1995年5月推出,是一种面向对象的编程语言.在2009年4月20号,ORACLE (甲骨文)收购了 Sun 公司,也就是说 Ja ...
- JAVA、JDK等入门概念,下载安装JAVA并配置环境变量
一.概念 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具体介绍可查阅百度JAVA百科,这里不再赘述. Java分为三个体系,分别为: Java SE(J2SE,Java2 Platf ...
- Java JDK配置环境变量
JDK的配置环境变量. 1.下载JDK,然后安装(点下一步). 2.右键单击 "计算机" ,选择 "属性". 3.单击 "高级系统设置&quo ...
- Windows 安装Java与配置环境变量
window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloa ...
随机推荐
- cogs 1901. [国家集训队2011]数颜色
Cogs 1901. [国家集训队2011]数颜色 ★★★ 输入文件:nt2011_color.in 输出文件:nt2011_color.out 简单对比时间限制:0.6 s 内存限制 ...
- 洛谷P2680 运输计划(树上差分+二分)
传送门 考虑树上乱搞 首先这是满足二分性质的,如果在某个时间可以完成工作那么比他更长的时间肯定也能完成工作 然后考虑二分,设当前答案为$mid$,如果有一条链的长度大于$mid$,那么这条链上必须得删 ...
- iOS 根据文字字数动态确定Label宽高
iOS7中用以下方法 - (CGSize)sizeWithAttributes:(NSDictionary *)attrs; 替代过时的iOS6中的- (CGSize)sizeWithFont:(UI ...
- BZOJ 1047: [HAOI2007]理想的正方形 单调队列瞎搞
题意很简明吧? 枚举的矩形下边界和右端点即右下角,来确定矩形位置: 每一个纵列开一个单调队列,记录从 i-n+1 行到 i 行每列的最大值和最小值,矩形下边界向下推移的时候维护一下: 然后在记录的每一 ...
- 牛客假日团队赛2 C.修围栏
链接: https://ac.nowcoder.com/acm/contest/924/C 题意: 农民 John 希望修复围绕农场的一小段围栏.他测量了一下,发现需要N (1 <= N < ...
- GYM 101933A(dp)
要点 \(\sum{w_i} <= 1e8\)是有意味的. 设\(dp[i]\)为至少可以承受重量\(i\)的最大可达高度.转移时可以转移的\(j\)必须满足加上它之后得保证各层不能超重,所以\ ...
- 事务&数据库连接池&DBUtils
事务的特性 原子性 指的是 事务中包含的逻辑,不可分割. 一致性 指的是 事务执行前后.数据完整性 隔离性 指的是 事务在执行期间不应该受到其他事务的影响 持久性 指的是 事务执行成功,那么数据应该持 ...
- NetCore中使用Myrmec
NetCore中使用Myrmec Myrmec 是什么? Myrmec 是一个用于检测文件格式的库,Myrmec不同于其它库或者手写检测代码,Myrmec不依赖文件扩展名(在实际使用中,你的用户很可能 ...
- python之三级菜单
python之三级菜单 要求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功 ...
- 看完这篇文章,我奶奶都懂了https的原理
本文在个人技术博客同步发布,详情可猛戳 亦可扫描屏幕右方二维码关注个人公众号 Http存在的问题 上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵 ...