Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
简单来讲,
1.path是os用
classpath java用
JAVA_HOME是指向的是JDK的安装路径
.path里面不光有Java的bin,还可以包含许多其他的,tc啊,masm阿,只要在path中设了这些环境的路径,
你在dos下的任何路径上都可以调用这些路径下的命令。
classpath是java专用的查找类的路径
3.path 用来定义可执行程序的查找路径
classpath 是定义查找 java class 的查找路径
4.
classpath和path,从字面上来看,classpath比path多了一个class,即是'类'的意思,所以, classpath配置的是类的路径
************************************************************************************************************************************
path是您用的操作系统提供的环境变量,
您一定试过在命令行输入一个命令然后它就执行了,很好玩吧。你输入的比如说是〉ffff,
可这个文件明明在D:/****/***/ffff.exe那个路径下,在命令行中,不管在那个路径下输入都能执行呢,
这就是因为,再path中设置了这个路径。
那classpath有什么作用呢?编java程序的时候都知道import的作用吧!
当要用的class,在某一个.jar下是,你需要在编译时引入,jvm自动去找classpath环境变量引入下面的jar包,
这就是classpath环境变量的作用
Path=.;C:j2sdk1.4.2_05in;D:DownLoadsoraclein;D:DownLoadsoracleApachePerl5.00503inmswin32-x86;C:Program FilesOraclejre1.1.7in;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;D:DownLoads;C:Program FilesSymantecpcAnywhere;C:Program FilesMicrosoft SQL Server80ToolsBINN
JAVA_HOME=C:j2sdk1.4.2_05
CLASSPATH=.;%JAVA_HOME%lib ools.jar
(Path没有用到JAVA_HOME变量)
classpath的目的是方便我们运行java程序,比如我们在D:mystudyjava
这个路径中放置我们的java小例子,比如test.java,
如果我们把D:mystudyjava放置在classpath中,
那么,在cmd命令中,可以直接运行
javac test.java
java test,
否则就要输入test.java的完整路径
JAVA_HOME 指向的是JDK的安装路径,如C:jdk1.5.0_06,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:XXXXXXxxxxxXXXXxxxxXXXXxxxxXXXXxxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=C:jdk1.5.0_06
PATH 环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%in (注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%in;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。
CLASSPATH 环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar
首先要注意的是最前面的".;",如果你看不清,我给你念念——句点分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) ,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:) 这个是由java语言的import机制和jar机制决定的,你可以查资料解决。
呵呵,具体的设定方法: win2kxp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。
win9x用户修改autoexec.bat文件,在其末尾加入:
set JAVA_HOME=C:jdk1.5.0_06
set PATH=%JAVA_HOME%in;%PATH%
set CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar