JDK环境变量的配置及作用
从真正接触java到现在,差不多有一年时间了,配置JDK的环境变量也配置过无数次,但是对于这些配置的作用始终有点不太清楚,于是做了一些整理。
对于JDK要配置三个环境变量,分别是JAVA_HOME、path、classpath。
对于我的电脑来说,配置如下:
JAVA_HOME:E:\Java\jdk1.7.0_25;(JDK的安装路径)
path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(JDk的运行和编译环境的路径)
classpath:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
下面我来介绍一下经过自己整理的关于这几个配置变量所起到的一些作用:
JAVA_HOME:
1.方便配置path和classpath的变量值。即使当你本地的JDK的路径发生变化时,只需要去修改JAVA_HOME的配置路径即可。
2.对于一些基于java编写成的软件,在这些软件运行时,可以更好的找到虚拟机的路径。例如Eclipse,其本事是由java编写的,那么它在运行的时候必然需要虚拟机的存在,那么Eclipse就可以通过这个配置变量找到虚拟机的目录。
path:这个变量的作用主要就是指定命令的搜索路径。这个就不做过多的解释。例子就是javac/java等一些操作命令。如果你没有配置该路径的话,这些操作命令就会执行不了。
classpath:这里重点就是介绍一下classpath这个变量。
这里先举个例子,下面我写了两个类:
JDK类:
Test类:
一开始我在命令行中输入 javac E:\csy\Test\Test.java,结果出现的如下错误:
这个错误很显然的告诉我们,系统找不到JDK这个类。那怎么样能够去找到JDK类呢,这里就要用上classpath了。正确输入如下:
这样就编译成功了。 从上述例子中我们可以知道,classpath这个变量主要就是指定类的搜索路径,但要注意的是,这个路径指的是你要编译的java源文件中所调用的非java的基础API中的类的package的所在目录。当然,如果源文件中调用了多个Java类,那么这个路径可以是多个目录,用分号分开。
在运行这个class文件时,也要去运用这个classpath。
-classpath后面的E:\;E: csy.Test.Test,第一个E:表示要编译的java源文件的package的路径,第二个E:表示该java源文件调用的java类的package的路径,csy.Test.Test表示要运行的类加上其所在的package。