当前位置:编程学习 > JSP >>

为什么要设置JAVA_HOME、Path、CLASSPATH、CATALINA_HOME


首先得介绍下面几个参数的作用:

current directory(当前目录):
当前在用的目录就是当前目录。比如说当你打开NOTEPAD,并处于运行状态时候,当前目录就是c:/windows;如果你用cmd命令打开命令行窗口,当前目录就是c:windowssystem32;如果你在用java这条指令,当前目录就是JAVA下的BIN目录所在的路径,因为java.exe在bin里面。
在java开发配置环境变量时,系统默认(我们对classpath不做任何设定时)的路径也是当前目录。

JAVA_HOME:
它是指jdk的安装目录,像D:j2sdk1.4.2_16。
可以新建一个JAVA_HOME变量,它的取值为D:j2sdk1.4.2_16。
为什么要设置它呢,不设定可不可以呢?不设定也是可以滴,但是最好还是设置一下。
我们现在就当它是一个变量代换 JAVA_HOME = D:j2sdk1.4.2_16,就是为了避免多写字,它还有一个好处就是当我们需要改变某个jdk时,只需要改JAVA_HOME的值就可以了。等在后面看了Tomcat的启动分析时你就明白了。
当在环境变量中引用它的时候要用%JAVA_HOME%来表示D:j2sdk1.4.2_16。


Path:
系统变量Path告诉操作系统可执行文件(*.exe、*.bat等)所在的路径,当OS(操作系统)发现某个*.exe时,windows默认从当前目录开始查找这个命令,若查不到,OS就会到Path所设定的路径中去寻找该命令,然后执行。
系统默认的系统变量为:Path = %SystemRoot%;%SystemRoot%system32;%SystemRoot%System32Wbem
就是说处于上面3个目录(多个变量用分号隔开)中的*.exe文件,可以在任意地方被执行(在 运行 窗口能直接执行的命令,像cmd、notepad等,基本都在上面的3个目录里面),所以他们可以直接运行。
上面的%SystemRoot%是什么意思呢?%SystemRoot%就是安装操作系统的时候,系统默认的安装路径
若你的windows xp装在C:/WINDOWS
则你的%systemRoot%路径就是c:/windows
%systemRoot%只是一个符号,代表你的系统安装目录
下面是常见系统默认安装路径:
98----c:/windows
2000--c:/winnt
2003--c:/windows
xp----c:/windows
当我们要进行java开发时,OS经常需要用到java.exe、javac.exe等,(若jdk安装在D:j2sdk1.4.2_16)因此应该将D:j2sdk1.4.2_16bin(%JAVA_HOME%bin)加入到系统的path中去。
注意:如果你加入的位置不是在最后,那还需要在bin后面加上英文状态下的分号:%JAVA_HOME%bin;多个变量之间要用分号隔开,如果它前面没有,你就加一个。
明确一下:%JAVA_HOME%jrebin 这个路径是不需要加入Path的。参考:http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html

CLASSPATH:
CLASSPATH是专门针对java的,它相当于windows的path;path是针对整个windows的。
CLASSPATH告诉java虚拟机(jvm)要使用或执行的*.class文件放在什么地方。
所谓的JVM就好像是在微软OS上面再激活另外一个OS,对JVM来说CLASSPATH就好像是对微软OS来说的PATH,所以要用jvm开运行程序就需要设定classpath,然而jvm像windows一样它也有个默认的查找class文件的路径,对刚开始学习java的我们来说,默认的已经够我们用了,那就是当前路径,因此不设置classpath也可以。
在windows中 classpath 大小写没有关系,其他的环境变量名称也一样。
参照:
http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html
The class path is the path that the Java runtime environment searches for classes and other resource files. The class search path (more commonly known by the shorter name,补充:Jsp教程,Java技巧及代码

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,