在Windows中,为了能够在任意目录下都能执行java命令,需要将java安装目录设置到系统的环境变量中
Path中存放的都是系统中的应用程序所在的目录
在CMD窗口中,执行java/其它命令:
首先在当前目录下寻找,如果没有,则到Path环境变量中继续查找,继而实现在任意目录下都能运行命令
为java配置Path环境变量
将java安装目录添加到Path中,以分号分割,如:C:\Program Files (x86)\Java\jdk1.6.0_18\bin;
路径深入到bin目录为止,因为java各种命令在bin目录下
配置技巧
单独定义一个变量来存放java的安装目录,改变java安装目录或版本后,修改该变量即可
好处:降低直接修改Path的风险,便于路径的修改
JAVA_HOME="C:\Program Files (x86)\Java\jdk1.6.0_18"
Path中只添加"%JAVA_HOME%\bin"
查看临时环境变量
c:\> set path 查看path环境变量
c:\> set path= 清空环境变量(清空当前窗口下的环境变量,对系统环境变量没影响,set 只对当前cmd窗口有效)
c:\> set path=K:\Java\jdk1.7.0
保留已有环境变量,通过%%来获取已有环境变量
c:\> set path=K:\Java\jdk1.7.0;%path%
最好把java目录配置在path的最前面,这样运行命令时直接就定位到java目录中了。
验证path环境变量配置是否正确:
C:\Users\Administrator>echo %JAVA_HOME%
结果:C:\Java\jdk1.7.0_40
====================================================================
classpath环境变量
用来为JVM指定class文件的目录
方便在cmd命令行中,在任意目录下都能使用java命令执行class文件!省去目录切换的麻烦。
配置方式:
classpath=D:\classes JVM只在指定的目录寻找字节码文件,有就执行,没有就报错
classpath=D:\classes; 先按指定的路径查找字节码文件,如果没有找到,则在当前目录找
所以,末尾跟了分号,如果指定目录没找到,则会继续查找当前目录是否存在指定的字节码文件
一般建议,如果配置了classpath环境变量,则不要加分号,指定的路径下有就执行
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
1. 前面有一个“句点”,表示先找当前目录
2. dt.jar提供对swing的支持
3. tools.jar提供java最重要的lang包到各种高级功能的实现
================
配置临时的Java环境变量
set JAVA_HOME=C:\jdk1.5.0_06
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar