JAVA-配置path环境
配置path环境变量变的目的是什么?
控制台可以在任意的路径下都可以找到java的开发工具。
为了说明几个JDK环境变量的作用,这里先给出环境变量的定义
环境变量:
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。这点有点类似于DOS时期的默认路径,你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。简单地说这里的“Path”就是一个变量,里面存储了一些常用命令所存放的目录路径。
目前path环境变量除了保存了我们自己配置的信息以外,还有系统自带的信息,如果一旦不不小心删除了path环境变量信息,那么就可能导致系统部分功能无法使用。
尽量避免修改的path环境变量信息。
如何尽量避免频繁修改path环境变量?
解决办法:新建一个环境变量保存jdk安装目录会发生变化的部分,然后在path环境变量上引用新环境变量所保存的信息。
由于可能因为更新JDK版本,可能出现安装路径变动的情况,为了避免频繁改动path环境变量,我们可以在外部新建一个Java的变量来给path引用,当JDK安装路径出现变化时,不用去修改path里面的环境变量。
1.首先需要新建一个JAVA_HOME变量,值为JDK的安装路径。JAVA_HOME指向JDK的安装目录;Eclipse/Tomcat等JAVA开发的软件就是通过搜索JAVA_HOME变量来找到并使用安装好的JDK,如果你没有配置JAVA_HOME变量,你会发现Tomcat无法正常启动。如下图:
2.编辑path,在path中添加一条环境变量,值为:%JAVA_HOME%\bin。bin目录存放的是java的开发工具,双%中间加JAVA_HOME的意思是path引用JDK的安装路径,这样不论JDK的安装路径如何改变,只需要更改JAVA_HOME的值,path的环境变量始终指向JDK的安装路径,不用频繁修改path环境变量,避免对path环境变量造成意外修改。PATH指向搜索命令路径,如果没有配置这个PATH变量指向JDK的命令路径,会发现在命令行下无法运行javac、java等命令。如下图:
3.配置CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
CLASSPAH指向类搜索路径,.;表示在当前目录搜索,由于java程序经常要用到lib目录下的dt.jar和tools.jar下类,所以这两项也要加进来,如果在命令行编译和运行的程序还需要用到第三方的jar文件,则也需要把第三方JAR文件加入进来。
4.用户变量是针对某个用户设置的相关环境参数,系统变量是针对所有用户设置的环境参数;那么如果在用户变量和系统变量中都有某个参数的配置,哪个优先?
系统变量优先.
---首先把系统变量中关于java的环境参数全部移除.
---javac不是内部或外部命令,出现这种情况是因为你没有在path变量中配置javac命令所在的路径?那么操作系统找不到,所以报这个错误.
Path变量已经存在,我们只需要在该变量值的前面加入javac命令所在的目录即可D:\Java\jdk1.7.0\bin,注意和后面的路径之间要有一个分号.
---从jdk1.4开始,已经不需要配置CLASSPATH这个环境变量了.以前我们配置这个变量,它的值是(.;D:\Java\jdk1.7.0\lib),表示(java HelloWorld)运行时需要这些底层的类和接口,那么系统可以马上找到.现在不需要,因为jdk可以自动找到.
----CLASSPATH的值之所以加一个.,表示搜索当前目录,这样不用担心找不到HelloWorld.class,然后后面紧跟着lib目录,因为要调用这些底层类和接口,所以配置了两个路径.
----配置JAVA_HOME可以很方便的实现jdk安装目录的变更.
需求: 在现实开发中有时候jdk版本的信息有时候只会使用一次或者几次就不再使用了,比如开发了一个软件,需要在java5,java6,java7中测试,那么如果是这种需求,我们一般都是通过set命令配置临时环境变量。
临时环境变量就是仅对于当前控制台窗口起作用,窗口一旦关闭,那么配置的临时环境变量信息会发生消失。
set命令的用法:
set 查看所有的环境变量信息。
set 环境变量的名字 查看指定的环境变量信息。
set 环境变量名字 = 路径信息 设置指定的环境变量信息。(仅对当前控制台有效,再开一个,原本信息不变)
set 环境变量名字 = 清空指定的环境变量信息。
set 环境变量名字 = 新路径;%环境变量名字% 在原有的基础上添加新的路径信息。
想要在原有环境变量值基础上添加新值呢?
首先,通过%变量名%操作符获取到原有环境变量的值。
然后加上新值后在定义给该变量名即可
举例:给path环境变量加入新值
set path=新值;%path%
set path=f:\a\;%path%;
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。
注意: 以后大家但凡看到是set命令设置的环境变量信息,都是临时环境变量信息。
JAVA-配置path环境的更多相关文章
- 01-常见Dos命令、Java历史、Java跨平台、配置Path环境变量、第一个HelloWorld例子
常见Dos命令 dir: 列出当前目录下的文件以及文件夹 md: 创建目录 rd: 删除目录 cd: 进入指定目录 del: 删除文件 copy: 复制文件 xcopy: 复制目录 tree: 列出目 ...
- 为什么要配置path环境变量?
一:关于path环境变量--为了在任意目录下,使用javac/java命令 第一种配置方法: 通过配置path环境变量,我们可以使某个程序,比如javac.exe,在任意目录下都可以运行,而不用跑到j ...
- JAVA配置--JDK环境变量配置
环境变量是整台电脑的全局变量,(这台电脑上)任何程序都可以读取这个变量. 如果您安装好jdk,但环境变量配置让你感到有一点模糊的话,那么请您看一下这篇,希望对您有帮助 根据打开电脑的属性(R),出现 ...
- 为什么要配置path环境变量
因为在jdk下bin文件夹中有很多我们在开发中要使用的工具,如java.exe,javac.exe,jar.ex等,那么我们在使用时,想要在电脑的任意位置下使用这些java开发工具,那么我们就需有把这 ...
- Java基础学习-Path环境变量的配置
1.为什么要进行Path环境变量的配置 程序的编译和执行需要使用到javac和java命令,所以只能在bin目录下写程序,而实际开发中,我们不可能将程序全部写到bin目录下,所以我们不许让 ...
- JAVA JDK安装及path环境变量配置
JDK安装 JVM :JAVA虚拟机 JRE :java运行环境=JVM+核心类库 JDK :JAVA开发工具包=JRE+java开发工具 java开发工具:编译工具(javac.exe) . 运行 ...
- java基础JDK jvm path环境变量
JDk=JRE +java的开发工具(javac.exe java.exe javadoc.exe)JRE =JVM +Java核心类库 2.为什么 要配置 path环境变量 ?如何配置?JAVA_H ...
- java基础知识--环境变量配置
说到java,大家应该都了解:J2SE基础.J2ME嵌入式.J2EE延伸的内容,而我们平时接触和所谈大部分都是J2EE企业级应用开发. 作为开发者,使用java之前,必须安装java开发环境,配置ja ...
- Windows系统中path环境变量详解
在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...
- Java初认识--环境搭建及基本数据类型
一.JAVA语言的环境搭建 1.JRE(Java Runtime Environment):Java运行环境. 它包括Java虚拟机和Java程序所需的核心类库等. 2.JDK(Java Develo ...
随机推荐
- codeforces 486C Palindrome Transformation 贪心求构造回文
点击打开链接 C. Palindrome Transformation time limit per test 1 second memory limit per test 256 megabytes ...
- Python 2.7 升 3.4
Ubuntu 14.04 已经安装有python3.4.0 命令行使用python3 或者创建链接即可 ln -s /usr/bin/python3 /usr/bin/python [推荐此方法,然后 ...
- oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)
LOB类型 ORACLE提供了LOB (Large OBject)类型.用于存储大的数据对象的类型.ORACLE眼下主要支持BFILE, BLOB, CLOB 及 NCLOB 类型. NCLOB 存储 ...
- PCA的数学原理Matlab演示
关于 PCA(Principal component analysis)主成分分析.是SVD(Singular value decomposition)神秘值分析的一种特殊情况.主要用于数据降维.特征 ...
- hdu1081 最大子矩阵
最大子矩阵自然直在最大连续子序列的升级版 只是其原理都是用到了动态规划思想 仅仅是矩阵用到了枚举 +合并 把非常多列看成是一列的和 #include<stdio.h> ...
- ssh port forwarding
SSH端口转发,总是忘记,今天记录下.端口转发有两种,一个是local一个是remote(可能还有一种dynamic,还没有研究) 贴个链接 https://www.ssh.com/ssh/tunne ...
- _DataStructure_C_Impl:Floyd算法求有向网N的各顶点v和w之间的最短路径
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef char VertexType[4] ...
- 如何在linux centos下安装git(转)
今天想开通github的服务,于是在服务器上安装git,百度到的结果千篇一律的全都有错误,给大家总结分享下. 如果yum install git可以直接安装的可以不通过源码编译安装. 源码安装步骤如下 ...
- eclipse tomcat maven
jdk jre eclipse 略过 下载maven和tomcat 上apache官网下载maven:http://maven.apache.org/download.cgi. 上apache官网下载 ...
- scikit-learn:4. 数据集预处理(clean数据、reduce降维、expand增维、generate特征提取)
本文參考:http://scikit-learn.org/stable/data_transforms.html 本篇主要讲数据预处理,包含四部分: 数据清洗.数据降维(PCA类).数据增维(Kern ...