为什么要设置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的。
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 这一步也可以不要。(解压缩版)
相关推荐
### Java中的Path与Classpath设置详解 在Java开发过程中,正确配置环境变量是十分重要的一步。其中,`path`和`classpath`是最为关键的两个环境变量,它们直接影响到Java程序能否正常编译和运行。 #### 一、Path 的...
在命令行启动Java程序时,可以使用`-cp`或`-classpath`选项来指定,或者在`JAVA_CLASS_PATH`环境变量中设置。如果未显式设置,JVM会默认将当前目录(`.`)添加到Classpath。 在实际开发中,我们通常会使用构建工具...
### JAVA环境变量详解:JAVA_HOME, PATH, CLASSPATH的设置与作用 在深入探讨JAVA_HOME, PATH, 和 CLASSPATH这三个关键环境变量之前,让我们先理解为何在开发环境中配置这些变量至关重要。当您安装JDK(Java ...
### Java零基础 - classpath环境变量详解 #### 1. classpath环境变量的定义与作用 **classpath** 是一个环境变量,在Java编程中扮演着极其重要的角色。它指定了Java虚拟机(JVM)搜索和加载类文件(class files)的...
在设置环境变量时,以Java环境变量为例,可以在Windows系统中通过计算机属性的高级设置里的环境变量设置JAVA_HOME为JDK的安装目录,然后将%JAVA_HOME%\bin添加到Path变量中,这表示将JDK的bin目录添加到path中。...
### 关于`path`, `classpath`, `java_home`设置的作用及目的详解 #### 一、概述 对于初学Java编程的人来说,正确配置`path`, `classpath`, `java_home`这三个环境变量至关重要。这些配置不仅影响着Java开发环境的...
### Java环境配置详解 在Java开发环境中,正确配置`JAVA_HOME`、`path`和`classpath`是非常重要的步骤。这不仅关系到Java开发环境能否顺利搭建,还会影响到后续的项目开发流程。接下来,我们将详细解释这三个环境...
JAVA环境变量配置详解 JAVA环境变量配置是JAVA开发中非常重要的一步,正确地配置环境变量可以使我们的JAVA开发变得更加方便和高效。本文将详细讲解如何在Win7环境下配置JAVA环境变量。 一、环境变量的概念 环境...
### JAVA环境变量设置详解 #### 一、概述 在计算机编程领域中,Java作为一种广泛使用的高级编程语言,其运行环境的正确配置对于开发者来说至关重要。本文将详细介绍如何在Windows操作系统中进行JAVA环境变量的设置...
### classpath与path详解 #### 一、概念介绍 在深入了解`classpath`和`path`之前,我们需要先明确这两个环境变量的基本概念。 ##### path `path`环境变量主要用于指定操作系统可以搜索到可执行文件(例如`.exe`...
**定义Classpath变量** - **作用**:`Classpath`变量用于指定Java类库或依赖包的位置。 - **设置方法**: 1. 在“系统变量”区域点击“新建”,变量名输入`Classpath`,变量值填写`.;%JAVA_HOME%\lib\dt.jar;%...
### JDK环境变量设置详解 在Java开发过程中,正确配置JDK环境变量是非常重要的一步,它直接关系到开发工具能否正常识别并使用安装的JDK版本。本文将详细介绍如何配置JDK环境变量,包括Path、CLASSPATH和JAVA_HOME的...
### Java环境变量设置详解 #### 一、Java环境变量的重要性 在计算机系统中,环境变量是一种重要的配置方式,用于指示操作系统或程序如何运行。对于Java开发者来说,正确配置Java环境变量是确保Java程序能够顺利...
### Linux环境变量设置详解 #### 一、理解Linux环境变量 在Linux系统中,环境变量是一种重要的配置方式,用于向程序传递系统级别的信息。这些变量包括路径信息、语言设置、用户主目录等,它们对系统的运行起着至关...
设置Classpath变量 - **新建Classpath变量**: - 在“系统变量”区域点击“新建”,输入变量名`Classpath`,变量值设置为: - `.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;` - 这个变量指定了类库的...
### JDK 1.6 环境变量配置详解 #### 一、背景介绍 Java 开发工具包(Java Development Kit,简称 JDK)是 Sun Microsystems(现已被 Oracle 收购)提供的标准 Java 开发环境,包含了编译器、解释器、JRE 等必要的...
### jdk1.5环境变量设置详解 #### 环境变量概述 在计算机系统中,环境变量是一种用于操作系统或程序的数据存储方式。通过环境变量,可以为应用程序提供必要的配置信息,比如路径、版本等。对于Java开发人员来说,...