java环境变量的配置

来源:互联网 发布:石家庄软件开发吧 编辑:程序博客网 时间:2024/06/01 08:12

最近在配置环境变量时遇到了不少问题,抽个空就总结了一下。

首先,说明一下配置的步骤:右击我的电脑->属性->(左侧点击) 高级系统设置->(上面点击) 高级->环境变量(以Win7为例,不知道怎么添加图片,只能用文字描述,请各位见谅)

(1)JAVA_HOME:在系统变量中新建(末尾不要添加“;”,这个路径会被其他变量引用)
变量名:JAVA_HOME
变量值:E:\Develop\JDK_1.8_64

(2)Path:可以在系统变量中找到path,双击
在变量值后添加:%JAVA_HOME%\bin;

(3)CLASSPATH:也是在系统变量中新建
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
(这里的 “.;”与末尾添加”;”的区别只是查找顺序的区别,后面会有介绍 )

下面解释一下各个环境变量配置的意义:
JAVA_HOME:顾名思义,就是java的安装目录,也就是JDK的安装目录。JDK可以安装在任意目录,例如,我的JDK安装在E:\Develop\JDK_1.8_64;所以我们配置环境变量时,可以新建一个变量名为JAVA_HOME,值为E:\Develop\JDK_1.8_64。至于JAVA_HOME的作用,应该是为了方便修改使用的JDK。当我们安装了多个版本JDK的时候,为了方便改变当前使用的JDK,只用修改JAVA_HOME的值就可以了,这样,path和classpath中的值都相应的修改了(前提是path和classpath的配置方式是用引用JAVA_HOME的路径,在下面介绍path和classpath的配置方式就明白了)。

Path:环境变量path可以这样理解,就是把.exe文件的目录添加到path中,这样,我们可以在任何路径,通过命令行启动这个程序。比如,我们把QQ.exe文件所在的目录添加到path中后,我们可以在黑窗口中,通过命令行,在任何路径下使用 QQ 命令启动QQ.exe;所以我们在配置path时,主要是为了能在任何路径下通过命令行启动java.exe和javac.exe等可执行文件,而这些文件,都放在JDK中的bin目录中,因此,我们配置环境变量path时,需要把bin目录添加到path中。在配置path时,我们一般不直接把带盘符的这种路径配到里面,而是采用引用路径的方式。

第一种方式:把 E:\Develop\JDK_1.8_64\bin;添加到path中(不推荐)

第二种方式:把 %JAVA_HOME%\bin;添加到path中;这种方式的前提是已经配好了JAVA_HOME;用%JAVA_HOME%表示引用JAVA_HOME配置的路径。用这种方式配置的,以后如果想修改使用的JDK的版本,只需要把JAVA_HOME设置成另一个版本JDK的安装目录就行了。

CLASSPATH:用于查找.class文件的目录。当我们在黑窗口输入java HelloWorld 命令时,系统会从CLASSPATH配的路径下找HelloWorld.class文件,并启动main方法。那么,我们在配置时,一般是这样配置的: CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%lib\tools.jar; 前面的.表示当前目录,也就是执行java命令时进入的目录。而dt.jar和tools.jar是javase的一些常见的类,具体是哪些类,反编译看看就知道了。至于作用,就是我们可以在我们的代码中使用这些类,一般需要导包,如果jar文件中的.class不带包名,不需要导包就可以直接用。

当前路径:就是执行命令的路径。比如我们在d盘的Develop目录下运行Hello.class文件,我们用命令 D:\Develop java Hello;此时,当前路径就是D:\Develop;在配置环境变量时,”.”表示当前路径。

配置环境变量时注意的一些小细节

(1)在这些环境变量的配置方式中,在结尾加 “;”与不加”;”的区别:结尾加”;”,会将当前路径添加到末尾;不加”;”则不会默认添加当前路径。也就是说,末尾加”;”,相当于添加了“ . ;”路径的效果。个人猜测,查找路径时,是先用“;”将路径中的字符串分割,再依次遍历分割得到的字符数组;末尾是“;”,会得到最后面值为null的一个字符串,null与.的效果相同。所以,不配置时,会有一个默认值null,也就是当前路径。

(2)通过命令行运行javac.exe和java.exe是按照顺序查找path和classpath中配置的路径,一旦找到,就执行,并且不再往后查找。所以,在配置JDK是,一般把JDK的bin添加到path的最前面。否则,可能出现这种情况,比如我的电脑安装了JDK1.6和JDK1.8,path配置为:E:\Develop\JDK_1.6_64\jre;E:\Develop\JDK_1.8_64\bin 当我们用javac命令编译java文件时,会从我配置的path路径中查找javac.exe文件,由于E:\Develop\JDK_1.6_64\jre中没有javac.exe,会往后继续查找,结果找到E:\Develop\JDK_1.8_64\bin中的javac.exe编译,得到1.8版本的.class文件;然后我们通过java命令运行此.class文件时,同样会先从我们的path路径中查找java.exe,结果会找到E:\Develop\JDK_1.6_64\jre中的java.exe;就会出现1.6版本的java.exe运行1.8版本的.class文件,导致无法运行。因此,在配置path时,最好把JDK的bin配置在path的最前面,这样,在查找java.exe和javac.exe时,都是同一个bin目录下的,就不会出现低版本的java.exe运行高版本的.class文件。

最后说明一下,这些只是个人的理解,并不权威,希望各位能积极指正其中的错误之处,同时,我也希望此博客能给各位带来一点帮助。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 体温计打碎了水银找不到了怎么办 模拟城市5核电站爆炸怎么办 日本地铁票丢了怎么办 在日本地铁票丢了怎么办 首付交了没合同怎么办 工程干完不给签合同怎么办 寄存密码纸丢了怎么办 超市柜子纸丢了怎么办 楼下有污水井味道怎么办 孕妇闻到了烧垃圾怎么办 楼下9米垃圾房怎么办 在工厂上班得了职业病怎么办 自来水被农药水污染了怎么办 雾霾天头疼恶心怎么办? 夫妻住宾馆一个没有身份证怎么办 医保报销后认定工伤怎么办 结肠癌术后复查有息肉怎么办 无蒂息肉恶变要怎么办 贤者时间很长怎么办 鸡吃了酒米醉了怎么办 自填脂肪乳房脂肪液化怎么办 中国人在外国遇到危险怎么办 dnf刷图卡住了怎么办 dbf深渊怪卡住了怎么办 dnf86级没任务了怎么办 dnf二觉任务没了怎么办 脚趾甲变空向上翘怎么办 汽油车加了一点柴油怎么办 柴油车辆环保检测功率不足怎么办 加95加错一次92怎么办 新车95加错92油怎么办 加不到95号汽油怎么办 去新疆没95号油怎么办 黄龙300加了92怎么办 gla错加92号油 怎么办 95和98混加了怎么办 沥青车可以停在居民区怎么办 汽油进到眼睛了怎么办 汽油进了眼睛里怎么办 眼睛里面进了汽油怎么办 脱硫塔里的二氧化硫高怎么办