JAVA JDK和Tomcat環(huán)境變量配置
CLASSPATH是什么?它的作用是什么?
它是javac編譯器的一個(gè)環(huán)境變量。它的作用與import、package關(guān)鍵字有關(guān)。當(dāng)你寫下improt java.util.*時(shí),編譯器面對(duì)import關(guān)鍵字時(shí),就知道你要引入java.util這個(gè)package中的類;但是編譯器如何知道你把這個(gè) package放在哪里了呢?所以你首先得告訴編譯器這個(gè)package的所在位置;如何告訴它呢?就是設(shè)置CLASSPATH啦 :) 如果java.util這個(gè)package在c:/jdk/ 目錄下,你得把c:/jdk/這個(gè)路徑設(shè)置到CLASSPATH中去!當(dāng)編譯器面對(duì)import java.util.*這個(gè)語句時(shí),它先會(huì)查找CLASSPATH所指定的目錄,并檢視子目錄java/util是否存在,然后找出名稱吻合的已編譯文件 (.class文件)。如果沒有找到就會(huì)報(bào)錯(cuò)!CLASSPATH有點(diǎn)像c/c++編譯器中的INCLUDE路徑的設(shè)置哦,是不是?當(dāng)c/c++編譯器遇 到include 這樣的語句,它是如何運(yùn)作的?哦,其實(shí)道理都差不多!搜索INCLUDE路徑,檢視文件!當(dāng)你自己開發(fā)一個(gè)package時(shí),然后想要用這個(gè) package中的類;自然,你也得把這個(gè)package所在的目錄設(shè)置到CLASSPATH中去!CLASSPATH的設(shè)定,對(duì)JAVA的初學(xué)者而言是 一件棘手的事。所以Sun讓JAVA2的JDK更聰明一些。你會(huì)發(fā)現(xiàn),在你安裝之后,即使完全沒有設(shè)定CLASSPATH,你仍然能夠編譯基本的JAVA 程序,并且加以執(zhí)行。
.....................................................................................................................................................
1. PATH環(huán)境變量。作用是指定命令搜索路徑, 在命令行下面執(zhí)行命令如javac編譯java程序時(shí),它會(huì)到PATH變量所指定的路徑中查找看是否能找到相應(yīng)的命令程序。我們需要把jdk安裝目錄下的 bin目錄增加到現(xiàn)有的PATH變量中,bin目錄中包含經(jīng)常要用到的可執(zhí)行文件如javac/java/javadoc等待,設(shè)置好PATH變量后,就 可以在任何目錄下執(zhí)行javac/java等工具了。我們這里設(shè)定的PATH值為:
%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/Program Files/Common Files/TTKN/Bin;C:/Program Files/Common Files/Teleca Shared;C:/Program Files/Java/jdk1.6.0_21/bin
上述只有紅色部分;C:/Program Files/Java/jdk1.6.0_21/bin是java的PATH變量,注意變量之間需要用";”隔開。
2. CLASSPATH環(huán)境變量。作用是指定類搜索路徑, 要使用已經(jīng)編寫好的類,前提當(dāng)然是能夠找到它們了,JVM就是通過CLASSPATH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的 dt.jar和tools.jar設(shè)置到CLASSPATH中,當(dāng)然,當(dāng)前目錄“.”也必須加入到該變量中。這里CLASSPATH為:
.;C:/Program Files/Java/jdk1.6.0_21/lib/dt.jar;C:/Program Files/Java/jdk1.6.0_21/lib/tools.jar
3. JAVA_HOME環(huán)境變量。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到并使用安裝好的jdk。這里JAVA_HOME為:
C:/Program Files/Java/jdk1.6.0_21
.....................................................................................................................................................
java環(huán)境變量配置步驟:
在windows桌面上右擊“我的電腦” —> “屬性” —> “高級(jí)” —> “環(huán)境變量”,在“系統(tǒng)變量”里我們可以看到系統(tǒng)的各個(gè)環(huán)境變量的值。雙擊某個(gè)變量名可以修改變量值,變量值之間用“;”隔開。我們還可以“新建”原先沒 有的變量。與jdk有關(guān)的有3個(gè)環(huán)境變量;“JAVA_HOME”,“PATH”,“CLASSPATH”。我的系統(tǒng)中“PATH”變量已經(jīng)存在,可以直 接添加新值(其它變量值不要?jiǎng)樱乐蛊渌绦蜻\(yùn)行異常),其它兩個(gè)變量需要新建。
CLASSPATH= .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
JAVA_HOME = C:/Program Files/Java/jdk1.5.0
PATH = %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
從上面我們可以看出,PATH和CLASSPATH都使用到了JAVA_HOME,也可以使用絕對(duì)路徑,兩者皆可。
.....................................................................................................................................................
Tomcat環(huán)境變量配置:
系統(tǒng)變量中新建
BASEDIR,路徑為:Tomcat根目錄,如D:\Tomcat
其它與java jdk相關(guān)的引用路徑可以查看文件bin\setclasspath.bat
注意,java環(huán)境變量配置JAVA_HOME主要為了其它容器調(diào)用,JAVA_HOME的java jdk路徑后邊不帶“;” 即不可分號(hào)結(jié)束。
..................................................................................................................................................... Tomcat\bin中setclasspath.bat文件 rem --------------------------------------------------------------------------- rem Set CLASSPATH and Java options rem rem $Id: setclasspath.bat,v 1.6.2.1 2004/08/21 15:49:50 yoavs Exp $ rem --------------------------------------------------------------------------- rem Make sure prerequisite environment variables are set if not "%JAVA_HOME%" == "" goto gotJavaHome echo The JAVA_HOME environment variable is not defined echo This environment variable is needed to run this program goto exit :gotJavaHome if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome goto okJavaHome :noJavaHome echo The JAVA_HOME environment variable is not defined correctly echo This environment variable is needed to run this program echo NB: JAVA_HOME should point to a JDK not a JRE goto exit :okJavaHome if not "%BASEDIR%" == "" goto gotBasedir echo The BASEDIR environment variable is not defined echo This environment variable is needed to run this program goto exit :gotBasedir if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir echo The BASEDIR environment variable is not defined correctly echo This environment variable is needed to run this program goto exit :okBasedir rem Set the default -Djava.endorsed.dirs argument set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed rem Set standard CLASSPATH rem Note that there are no quotes as we do not want to introduce random rem quotes into the CLASSPATH set CLASSPATH=%JAVA_HOME%\lib\tools.jar rem Set standard command for invoking Java. rem Note that NT requires a window name argument when using start. rem Also note the quoting as JAVA_HOME may contain spaces. set _RUNJAVA="%JAVA_HOME%\bin\java" set _RUNJAVAW="%JAVA_HOME%\bin\javaw" set _RUNJDB="%JAVA_HOME%\bin\jdb" set _RUNJAVAC="%JAVA_HOME%\bin\javac" goto end :exit exit /b 1 :end |
posted on 2014-08-13 09:59 順其自然EVO 閱讀(653) 評(píng)論(0) 編輯 收藏