码迷,mamicode.com
首页 > 编程语言 > 详细

Java环境变量的配置

时间:2015-05-08 10:59:42      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:java   path   classpath   环境变量   jdk   

一、配置环境变量path   

    在Java开发中,为了编译、运行程序,经常会使用javac、java等命令,那么这两个命令到底是什么呢?为了弄清楚,我们去jdk中找找看。

技术分享

    通过查找,终于在D:\Java\jdk1.7.0_51\bin(jdk安装目录,可能会不同)下发现了它们的踪迹。会发现javac与java命令本质上是两个EXE文件。

    在上一篇博客浅析Windows系统环境变量中, 讲诉了为了方便在任意目录下启动EXE文件,需要配置环境变量。那么,现在来为java配置环境变量。详细步骤在浅析Windows系统环境变量一文中已经讲得很透彻了,这里就不再赘述了。将D:\Java\jdk1.7.0_51\bin配置到path中即可。

技术分享

    到上面为止,环境变量已经完完全全配置好了。

    (可跳过)再看看D:\Java\jdk1.7.0_51\bin,我们有时候会jdk移到另一个盘(例如E盘),那么会变成E:\Java\jdk1.7.0_51\bin;或者我们会将jdk1.7.0_51重命名为jdk1.7。总而言之D:\Java\jdk1.7.0_51是很容易改变的(bin目录一般不会去改变它),同时为了方便日后使用Tomcat服务器,我们需要将D:\Java\jdk1.7.0_51单独抽出来,放入一个变量中,日后改变了只需要来改变该变量,而不需要改动path。

    a.新建一个JAVA_HOME变量,赋值为D:\Java\jdk1.7.0_51;

技术分享

技术分享

    b.将path中的D:\Java\jdk1.7.0_51\bin修改为%JAVA_HOME%\bin。

技术分享

    好了,环境变量path就配置完了。试试能否在任意目录下启动javac.exe。

技术分享

    在C:\Users\lenovo下成功启动javac.exe,说明配置成功。


二、配置系统变量classpath

    利用C、C++等语言写的程序会生成EXE文件,那么java生成的也是EXE文件吗?答案是否定的,java生成的是class文件,无法通过双击启动,只有通过java命令来启动。那么,同样的问题来了,能否在任意目录下通过java命令来启动它呢?

    答案无疑是肯定的,和EXE文件一样,只需配置一个环境变量(classpath)即可。

    新建一个变量并赋值为class文件所在目录(例如在E盘)。

技术分享

    好了,来检验一下,在E盘下有一个class文件,执行命令。

技术分享

 技术分享


三、当前目录与环境变量配置的目录孰先孰后

    假设环境变量配置的是E:\,在E盘和F盘下各有一个Test.class文件,但是他们的输出结果不一样,E盘输出“我是环境变量配置的目录的文件”,F盘输出“我是当前目录的文件”。现在所在目录为F盘,此时如果键入java Test,结果会是什么呢?

技术分享

    结果显示,执行的是E盘(环境变量配置的目录)下的class文件。此时如果删除E盘下的Test.class文件,在到F盘下键入java Test,结果又会是什么呢?

技术分享

    结果显示,执行的是F盘(当前目录)下的Test.class文件。

    小结一下:对于class文件,与exe文件相反,会先在环境变量配置的目录中查找文件,存在就执行;否则再去当前目录下查找


四、说点恶搞的

    先看下图片,

技术分享

    从图片中可以看出,我先删除了E盘下的Test.class文件,然后到F盘启动Test文件,不同的是,两次执行时环境变量配置的不一样,环境变量唯一区别是后面的一个分号,一个有分号,一个没有。会发现结果截然不同。

    其实,加了分号的,会先到环境变量配置的目录下查找文件,查找就执行,不存在就在当前目录下来查找执行;而不加分号的只会在环境变量中查找文件,查找就执行,否则就直接结束。



Java环境变量的配置

标签:java   path   classpath   环境变量   jdk   

原文地址:http://blog.csdn.net/liujian619/article/details/45574851

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!