Java环境变量的配置

一、配置环境变量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环境变量的配置

相关文章:

你感兴趣的文章:

标签云: