`
小混蛋
  • 浏览: 21213 次
社区版块
存档分类
最新评论

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

阅读更多
首先得介绍下面几个参数的作用:

current directory(当前目录):
当前在用的目录就是当前目录。比如说当你打开NOTEPAD,并处于运行状态时候,当前目录就是c:/windows;如果你用cmd命令打开命令行窗 口,当前目录就是c:\windows\system32;如果你在用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%\System32\Wbem
就是说处于上面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_16\bin(%JAVA_HOME%\bin)加入到系统的path中去。
注意:如果你加入的位置不是在最后,那还需要在bin后面加上英文状态下的分号:%JAVA_HOME%\bin;多个变量之间要用分号隔开,如果它前面没有,你就加一个。
明确一下:%JAVA_HOME%\jre\bin 这个路径是不需要加入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, "class path") can be set using either the -classpath option when calling a JDK tool (the preferred method) or by setting the CLASSPATH environment variable. The -classpath option is preferred because you can set it individually for each application without affecting other applications and without other applications modifying its value.
如果你在classpath中用到 other resource files,那说明你已经熟悉classpath了,你可以自己随意设置。
The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.-----这句话是说,当我们不设定classpath时,系统默认的classpath是当前目录,如果你个人想设置classpath的话,那么务必在classpath中加入".",这个英文状态下的点就表示当前目录。
至于classpath中要不要加入其他的路径(包括文件目录、包的根目录等),这要看开发的需要,一般我们初学者是用不到的。

path的设置倒没有什么疑惑,但是classpath就有疑惑了,到底里面该不该加rt.jar ,dt.jar ,tool.jar呢?
可以肯定的是rt.jar是不需要的,jdk会自动加载。你可以用 java -verbose 命令来查看。
我们可以来研究一下%JAVA_HOME%\lib底下的 tools.jar 和 dt.jar 是甚么咚咚:
http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html 或者
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jdkfiles.html
那tools.jar,dt.jar到底需不需要加进classpath呢?我查过一些资料,在Sun JDK 1.2及后续版本中,包含了一组可在程序运行时刻编译和执行Java代码的API。这些API被包含在tools.jar类库中。这个功能允许Java程 序在运行时动态编译、执行小的代码块,在有些情况下这个功能会让Java应用程序的架构更加灵活、开放。本来还有个例子我看得不是太懂,就不贴出来了。
如果您现在还未明白什么是动态编译或者是否需要“动态编译java程序”,那就当作不需要;系统自己默认设定,阁下您也默认好了 ^_^

至于dt.jar包,在jdk1.4.0之后不用导入它,运行时会自动导入--这个是我在搜集了n个资料后选择的一个较安全放心的答案

CATALINA_HOME:
长话短说了,tomcat启动就不分析了,告诉你怎么设就可以了,在Tomcat 4以前,用的是TOMCAT_HOME来表示Tomcat的安装目录,中间还用过TOMCAT_BASE,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME,所以设置的时候不用把这3个变量都设 了,要CATALINA_HOME就够了。如果你安装的是解压缩版的也可以不用设置CATALINA_HOME,直接双击bin里面的 startup.bat就可以了,关闭的时候有shutdown.bat。

综上:(在winXP中)以jdk安装目录为-D:\j2sdk1.4.2_16,tomcat安装目录为-D:\ApacheTomcat\apache-tomcat-6.0.14设置环境变量如下:你也可以参考http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html 自己决定那些是需要设置的。

JAVA_HOME = D:\j2sdk1.4.2_16
Path 环境变量中在最前面加入(若系统原来没有就新建) %JAVA_HOME%\bin; (加在最前面可以提高查找速度)
CLASSPATH = . 这一步可以不用设。
CATALINA_HOME = D:\ApacheTomcat\apache-tomcat-6.0.14 这一步也可以不要。(解压缩版)
分享到:
评论

相关推荐

    jdk和tomcat配置

    Path %CATALINA_HOME%\bin; CLASSPATH %CATALINA_HOME%\lib; 测试 (1)用文本编辑器写一个简单的java程序: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World...

    Java和Tomcat环境变量配置

    通过设置 `JAVA_HOME`、`CATALINA_HOME`、`CATALINA_BASE` 及 `CLASSPATH` 等环境变量,可以有效地管理Java和Tomcat的依赖关系,并使开发过程更加顺畅。同时,确保这些环境变量的正确配置也是进行Java Web应用开发的...

    Java开发环境变量设置

    CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/bin:. export CLASSPATH PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH ``` 3. **使更改...

    一台电脑上两个tomcat

    一台电脑设置两个tomcat,对应两套环境变量 CATALINA_BASE1=E:\software\apache-tomcat-7.0.47copy CATALINA_BASE=E:\software\apache-tomcat-7.0.47 CATALINA_HOME1=E:\software\apache-tomcat-7.0.47copy CATALINA...

    Java环境变量和Tomcat配置

    例如,如果你将JDK安装在 `F:\Files_install\javaEE\jdkjavaEE` 这个路径下,则可以这样设置 **JAVA_HOME**: ``` JAVA_HOME=F:\Files_install\javaEE\jdkjavaEE ``` 需要注意的是,这个路径应该根据实际的安装...

    tomcat 64位

    在安装Tomcat之前一定要先安装好java运行环境 jdk 下载64位的jdk安装 在系统环境变量里添加以下变量: ①JAVA_HOME:jdk的安装路径C:\Sun\Java\jdk ②CLASSPATH:“.;%JAVA_HOME%\lib;” ③Path:“;%JAVA_HOME%\bin...

    day32_linux&nginx教案1

    - **配置环境变量**:编辑 `/etc/profile` 文件,添加 JDK 的路径到 `JAVA_HOME`,`CLASSPATH` 和 `PATH` 变量中,最后执行 `source /etc/profile` 使配置生效。 4. Linux 上安装 MySQL: - 安装前可能需要添加 ...

    java环境变量设置

    本文将详细介绍如何在Windows操作系统中设置Java环境变量,包括`JAVA_HOME`、`CLASSPATH`以及`PATH`等关键环境变量。 #### 二、JAVA_HOME环境变量设置 **定义:** `JAVA_HOME`是一个系统环境变量,用于指定Java...

    tomcat免安装版+java环境变量的配置

    在示例中,`Path`被设置为`%JAVA_HOME%\bin`。这意味着系统会在`JAVA_HOME`指定的目录下的`bin`子目录中查找可执行文件。 - **classpath**:此变量用于指定类路径,即Java运行时环境会在此路径下寻找用户自定义的类...

    linux下安装Tomcat

    export PATH CATALINA_HOME CATALINA_BASE CLASSPATH ``` - 记得替换 `/path/to/other/MQ/library/files` 为实际的MQ库文件路径。 - 再次执行 `source /etc/profile` 使更改生效。 5. **启动Tomcat**: - 使用...

    java环境变量配置

    在示例中,`JAVA_HOME` 设置为 `C:\Program Files\Java\jdk1.8.0_60`。这个值应该指向你的JDK安装的确切位置,因为它会被其他环境变量引用。 2. **Path**: Path环境变量决定了系统在命令行中执行程序时查找可执行...

    Linux部署java程序步骤

    - 示例:`export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar` - **添加JDK路径到PATH**: 使得可以在任何位置执行Java命令。 - 示例:`export PATH=$JAVA_HOME/bin/:$PATH` 这些环境变量可以...

    Java EE project环境配置

    综上所述,为了正确配置Java EE项目的开发环境,我们需要设置好`JAVA_HOME`、`PATH`、`CLASSPATH`等环境变量,并安装配置好Apache Tomcat服务器。这些步骤对于搭建一个完整的Java EE开发环境至关重要。

    Tomcat----JSP运行平台

    JAVA_HOME: C:\jdk1.6.0_10 //为JDK环境变量的设置 JRE_HOME: C:\jdk1.6.0_10\jre //为Tomcat环境变量的设置 CATALINA_HOME: C:\Tomcat //为Tomcat环境变量的设置 CATALINA_BASE: C:\Tomcat //为...

    java环境变量的配置

    - **示例**:在给定的部分内容中,`PATH` 被设置为 `%JAVA_HOME%\bin;%CATALINA_HOME%\bin;`,这表示系统会在这些目录中查找可执行文件。 ##### 3. CLASSPATH - **定义**:`CLASSPATH` 是一个用于指定Java类文件(`...

    tomcat及javahaome环境变量的配置

    - 如果需要,可以更新Classpath环境变量,将其值设置为`%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar`。这确保了Tomcat能够访问其所需的类库,尤其是Servlet和JSP...

    apache-tomcat-8.0.51

    CLASSPATH = %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;. 在Path的变量值尾部加上;%JAVA_HOME%\bin 1.2 Tomcat环境变量设置 在”系统环境变量”,设置如下两个变量 CATALINA_HOME = D:\Program Files\...

    java-tomcat环境变量配置.doc

    在Java和Tomcat的配置中,%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin被添加到PATH中,确保Java的命令行工具(如javac、java等)可以在任何目录下直接运行。 6. **TOMCAT_HOME**: TOMCAT_HOME与CATALINA_HOME类似,但...

Global site tag (gtag.js) - Google Analytics