Java配置环境变量及其意义
2019独角兽企业重金招聘Python工程师标准>>>
在学习Java的过程中,涉及到多个环境变量(environment variable)的概念,如PATH。正确地配置这些环境变量是能够顺利学习、开发的前提。而经常出现的问题是:有的学习者能够按照提示一步一步地正确配置,但时间一长就忘了,出现了问题也无从下手。究其原因,就是对这些概念没有理解,知其然但不知其所以然。下面的内容,就是帮助大家知其所以然。
一、基本原理
1.引例
未设置环境变量,只有在jdk中的bin目录下才可以运行java命令。
安装JDK之后,如果不配置PATH环境变量,无法编译和运行Java程序。
在命令行直接输入"java -version",会出现错误提示信息:“ 'java'不是内部或外部命令,也不是可运行程序或批处理文件 ”
这条错误信息的意思是:你要求运行的“java”这条命令我不认识,不知道是个什么玩意儿。
那当我们打开JDK的安装目录下bin目录,在此目录下运行”dir“命令显示该目录下全部文件,即可发现java.exe
该目录下再次运行"java -version",命令运行成功并显示java版本信息。
2.问题提出
只有写出java.exe的完整路径才能运行java命令?
与java命令类似,javac命令目前也能在bin目录下执行,但到其他目录下就只能写出其完整路径了。在学习Java的过程中,我们经常需要使用javac和java这两条命令来编译、运行我们的JAVA程序。难道我们每次运行这两条命令都要先切换到bin目录下吗或写出一长串的绝对路径吗?能不能有一个办法,让我们能够在任何目录下都能自如地运行这些命令呢?
3.解决方法
解决的办法就在于PATH环境变量。
PATH是路径的意思,PATH环境变量中存放的值,就是一连串的路径。不同的路径之间,用英文的分号(;)分隔开。系统执行用户命令时,若用户未给出绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件(另外一种可以执行的文件)等。若找不到,再依次在PATH保存的这些路径中寻找相应的可执行的程序文件。系统就以第一次找到的为准;若搜寻完PATH保存的所有路径都未找到,则会显示类似前面的错误信息。
4.设置PATH
1) 通过命令行设置
set命令设置环境变量格式:set 环境变量名 = 环境变量值
set PATH = D:\Java\jdk1.8.0_101\bin
注意:这样会使PATH只有”D:\Java\jdk1.8.0_101\bin“,其他的值就会被覆盖
因此,我们应该把值“D:\Java\jdk1.8.0_101\bin”追加到PATH中
set PATH = %PATH%;D:\Java\jdk1.8.0_101\bin
把PATH放在两个百分号之间,指把PATH原有的值取出。其后的分号表示分隔不同的路径值,之后才是我们要添加的值。
注意:这种使用set命令的方式设置的环境变量只对当前命令行窗口有效。一旦关闭此窗口,再次运行另一个命令行窗口时,PATH环境变量还是原来的值。 因此,我们必须在Windows下修改PATH环境变量。
2) 通过“属性”添加
右键点击”我的电脑“,依次选择进入”属性“->”高级系统设置“->”环境变量“,编辑PATH值,添加;D:\Java\jdk1.8.0_101\bin
//注意分号
;D:\Java\jdk1.8.0_101\bin
点击确定,添加成功
二、名词释义
我们现在启动一个命令行窗口,按上述的方法把PATH的值全部清除,然后再运行dir、cd等命令。出乎我们意料的是,它们仍然能够正确执行。这又是什么原因呢?
报告错误的信息提到了内部命令、外部命令和批处理文件,那什么使外部命令和内部命令呢?
内部命令和外部命令
内部命令和外部命令是DOS(disk operating system,微软早期基于命令行的操作系统)时代的概念,百度百科的解释是:内部命令是随每次启动的COMMAND_COM装入并常驻内存,而外部命令是一条单独的可执行文件。粗略地讲,所谓内部命令就是最核心、使用最多的命令。为了提高响应速度,系统一启动,这些命令就被加载到内存,因此可以迅速、直接地执行;而外部命令由于使用相对较少,就不预先加载到内存,当用户使用时,再到硬盘上(c:\windows\system32)找相应的可执行文件,然后加载到内存执行。像dir、cd等都是内部命令,而诸如attrib、format等都是外部命令。尽管DOS的时代早已成为了历史,但某些操作却必须在命令行模式下完成,对专业人士来说更是如此。因此,Windows产品一直保留着命令行模式这个工具。
批处理文件
另外一个概念就是批处理文件(后缀名为.bat,来源于批量的英语单词batch),它是另外一种可以执行的文件。简单地说,批处理文件包含了很多DOS命令。文件执行时,就一条一条地执行这些命令。不一定顺序执行,像通用的程序设计语言一样,它也有自己的流程控制。批处理文件创建很简单:用任何一个文本编辑器(如Windows的记事本)创建一个文本文件,然后把后缀名改为.bat即可。创建好的批处理文件,你也可以用文本编辑器打开,查看它的源代码。
三、CATALINA_HOME环境变量
博主未执行此操作,但有助于对环境变量加深理解
Tomcat是一个免费开源的Servlet/JSP容器,深受广大Java初学者喜爱。这其中需要设置CATALINA_HOME环境变量,值为tomcat安装目录(我的是d:\tomcat7),否则会出现错误信息:没有正确设置CATALINA_HOME环境变量,而此变量是运行Tomcat所必须的。
而当你不理会这个信息,在命令行窗口把当前目录切换到tomcat安装目录下的bin目录下,再执行批处理文件startup.bat来启动tomcat时,发现也可以成功。难道现在不需要CATALINA_HOME环境变量了吗?
实际上,在startup.bat中,首先判断CATALINA_HOME是否为空。若为空,就把当前目录设为CATALINA_HOME的值。然后查找CATALINA_HOME所指示的目录下是否有个bin目录,此bin目录下是否有个叫做catalina.bat的批处理文件(此文件负责启动tomcat)。若没有,则把当前目录的父目录设为CATALINA_HOME的值,再重复上述的查找。若仍失败,就报错。
因此,当你在tomcat安装目录下的bin目录下运行startup.bat文件时,它就会按照上面所说的第二种方式自动正确设置CATALINA_HOME的值,因为catalina.bat文件就在tomcat安装目录下的bin目录里。
虽然在此种情况下能正确运行,但还是建议你正确设置CATALINA_HOME环境变量。与PATH不同的是,PATH系统本身就有,而CATALINA_HOME需要你自己新建环境变量。
为了能够在任何目录下都能运行tomcat安装目录下bin目录里的批处理文件,如startup.bat,可把此目录添加到PATH环境变量中(我的是d:\tomcat7\bin)。
为了提高灵活性,可在PATH环境变量的最后添加上%catalina_home%\bin(与前一个值之间不要忘了用英文的分号隔开)。把catalina_home放置在两个百分号之间,表示引用这个环境变量的值(配置Java中JAVA_HOME环境变量同理)。这样,当你把tomcat的安装目录换了以后,就只需要修改catalina_home的值,而不需要修改PATH的值了,因为它可以自动计算出新的正确值
(适用于tomcat6/7)
———————————————————————————————————————————————
Java环境变量配置
1) 需配置3个环境变量
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_101
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
变量名:PATH
变量值:%JAVA_HOME%\bin
2) 意义
- JAVA_HOME:指明JDK的安装路径
- CLASSPATH:指明Java虚拟机要装载类的路径
- PATH:指明系统可以在任何路径下识别Java命令
转载于:https://my.oschina.net/zhangyujian/blog/777875
Java配置环境变量及其意义相关推荐
- xp java配置_WinXP系统Java配置环境变量的方法
谈起Java环境变量我想大多数编程人员都知道,因为我们想要进行编程就必须先配置它,不过不少用户不知道WinXP系统Java怎么配置环境变量,为此小编赶紧整理了一篇WinXP系统Java配置环境变量的方 ...
- Java配置环境变量教程,Java配置环境变量的作用
配置Java环境变量的作用 1:可以在cmd窗口(dos命令)运行和编译Java代码, 2:在任何路径下都能运行jdk,不配置环境变量的话,只能在jdk的安装路径下运行,换到其他路径的 话系统会提示找 ...
- win10 java 配置环境变量
win10 java 配置环境变量 ###在安装好JDK后还需要进行环境变量的配置,以下为具体操作步骤: 1.正常下载java后有两个文件 jdk 和 jre 2.然后 此电脑-----属性----- ...
- win xp java下载,Win雨林木风xp系统Java配置环境变量的方法
谈起Java环境变量我想大多数编程人员都知道,因为我们想要进行编程就必须先配置它,不过不少用户不知道Win雨林木风xp系统Java怎么配置环境变量,为此雨林木风系统小编赶紧整理了一篇Win雨林木风xp ...
- 中修改环境变量_Golang入门(1):安装与配置环境变量的意义
摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...
- Golang入门(1):安装与配置环境变量的意义
摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...
- java配置环境变量为8后仍然显示为7_jdk7与jdk8环境共存与切换
1,先安装jdk7,配置环境变量JAVA_HOME,然后安装jdk8. 2,安装jdk8后,JAVA_HOME指向未做修改,执行java -version显示还是以前的jdk7版本信息, 3,接下来我 ...
- Java配置环境变量、方法和原因
首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入&quo ...
- java配置环境变量path(JAVA配置环境变量失败)
配置java环境变量path怎么设置? 只需要在path中增加%JAVA_HOME%\bin; 即可.完整的JDK安装及环境变量配置如下: 安装JDK 选择安装目录 安装过程中会出现两次 安装提示 . ...
最新文章
- Windows 7的CMD中 Telnet 无法执行的解决办法
- 点击后,过段时间cell自动取消选中
- A Crowdsourcing Method for Correcting Sequencing Errors for the Third-generation Sequencing Data 一种用
- Python 初学者进阶的九大技能(附代码)
- web版扫雷小游戏(三)
- WinCE 开始菜单StartMenu_Create()函数代码分析
- python dict hash算法_2020年3月26日python学习笔记——hash
- iOS 去除警告 看我就够了
- [Leedcode][JAVA][第41题][缺失的第一个正数][哈希表][数组]
- java gson 工具类_GSON 实体 转换工具类
- 再谈 Linux下的nanosleep函数
- Lambda 表达式入门,这篇够了!
- “同芯至远 共叙未来”2021年simcom芯讯通代理商大会
- priority的用法
- NLP+词法系列(一)︱中文分词技术小结、几大分词引擎的介绍与比较
- 212.样本量和测序深度的Alpha多样性稀释曲线
- 链家混三个月底薪_上海链家底薪8000劝退贴
- 翁恺c语言视频作业题,翁恺入门C语言第2周编程练习
- 五一应该去哪里自驾游?哪里人最少,哪里不堵车?这份攻略你必须拥有。
- Zend Studio 13.6.1下载和安装汉化破解版