一违诗、Windows平臺(tái)
1.安裝JDK揖膜,安裝過程中可以自定義安裝目錄等信息,例如我們選擇安裝目錄為D:\Java\jdk1.5.0_07姿锭;
2.安裝完成后塔鳍,右擊“我的電腦”,點(diǎn)擊“屬性”呻此;
3.選擇“高級(jí)”選項(xiàng)卡轮纫,點(diǎn)擊“環(huán)境變量”;
4.在“系統(tǒng)變量”中焚鲜,設(shè)置3項(xiàng)屬性掌唾,JAVA_HOME, PATH, CLASSPATH(大小寫無所謂),若已存在則點(diǎn)擊“編輯”,不存在則點(diǎn)擊“新建”忿磅。
5.JAVA_HOME指明JDK安裝路徑糯彬,就是剛才安裝時(shí)所選擇的路徑D:\Java\jdk1.5.0_07,此路徑下包括lib葱她,bin撩扒,jre等文件夾(此變量最好設(shè)置,因?yàn)橐院筮\(yùn)行tomcat吨些,eclipse等都需要依*此變量)却舀。
Path使得系統(tǒng)可以在任何路徑下識(shí)別java命令,設(shè)為:
Path:%JAVA_HOME%\bin;
CLASSPATH為java加載類(class
or lib)路徑锤灿,只有類在classpath中,java命令才能識(shí)別辆脸,設(shè)為:
classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(要加.表示當(dāng)前路徑)
%JAVA_HOME%就是引用前面指定的JAVA_HOME(D:\java\jdk1.5.0_08)但校;
Tomcat按照路徑講解((假定你的tomcat安裝在d:\tomcat):):
CATALINA_HOME=D:\Tomcat6.0;
CATALINA_BASE=D:\Tomcat 6.0;
6.“開始”->;“運(yùn)行”,鍵入“cmd”啡氢;
7.鍵入命令“java
-version”状囱,“java”,“javac”幾個(gè)命令倘是,出現(xiàn)畫面亭枷,說明環(huán)境變量配置成功;
二搀崭、Linux平臺(tái)
以Ubuntu為例叨粘。
(1)根據(jù)當(dāng)前操作系統(tǒng)的版本選擇下載jdk安裝包猾编。
(2)將準(zhǔn)備好的安裝包放到特定目錄下。
sudocp /home/chj/jdk-8u101-linux-i586.gz /opt/(注意64位的Ubuntu需要安裝64位的Java開發(fā)包)
(3)輸入指令解壓升敲。
sudocd /opt
sudotar –xf jdk-8u101-linux-i586.gz
(4)添加環(huán)境變量答倡。
1.界面版Linux:
sudogedit /etc/environment
設(shè)置環(huán)境變量如下格式:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk1.8.0_101/bin"
JAVA_HOME="/opt/jdk1.8.0_101"
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
應(yīng)用環(huán)境變量:
sudosource /etc/environment
2.服務(wù)器版Linux:
sudo
vim /etc/profile (如果不能啟動(dòng)vim,可以使用apt-get
install vim安裝vim)
添加環(huán)境變量設(shè)置:
#setjava environment
exportJAVA_HOME=/opt/jdk1.8.0_73
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH
配置默認(rèn)JDK:
sudoupdate-alternatives --install /usr/bin/java java /opt/jdk1.8.0_73/bin/java 300
sudoupdate-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_73/bin/javac300
sudoupdate-alternatives --config java
應(yīng)用環(huán)境變量:
sudosource /etc/ profile
(5)檢查安裝是否成功驴党。
輸入java –version瘪撇,javac,java等指令港庄,觀察系統(tǒng)配置的情況倔既。
三、批處理實(shí)現(xiàn)環(huán)境變量設(shè)置
下面分別說明三個(gè)環(huán)境變量在Windows和Linux下如何設(shè)置鹏氧,不過在此之前渤涌,我們需要做個(gè)假設(shè)。假設(shè)JDK在Windows下的安裝路徑是C:\jdk\度帮,在Linux下的安裝路徑是/usr/local/jdk/歼捏。那么,安裝后的JDK至少會(huì)包括如下內(nèi)容:
C:\jdk (/usr/local/jdk)
|-- bin
|-- demo
|-- include
|-- jre
| |-- bin
| `-- lib
`-- lib
*****在Windows下設(shè)置
Windows下使用set命令設(shè)置環(huán)境變量笨篷,為了使每一次啟動(dòng)計(jì)算機(jī)都設(shè)置這些環(huán)境變量瞳秽,應(yīng)該在系統(tǒng)盤根目錄下的autoexec.bat文件中進(jìn)行設(shè)置,如:
set JAVA_HOME=C:\jdk
setPATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command
set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.
有些版本的Windows不能用%變量名%來替換環(huán)境變量的內(nèi)容率翅,那么就只好直接寫C:\jdk而不是%JAVA_HOME%了练俐。另外,C:\Windows和C:\Windows\Command是Windows會(huì)自動(dòng)加入路徑的冕臭,所以可以從設(shè)置中去掉腺晾。如果在autoexec.bat中已經(jīng)設(shè)置了PATH,那只需要將%JAVA_HOME%\bin加到原來設(shè)置PATH的那條語句中就行了辜贵。
CLASSPATH也可以根據(jù)需要設(shè)置或者加入其它的路徑悯蝉,比如你想把自己寫的一些類放在C:\java中,就可以把C:\java也添加到CLASSPATH中去托慨,set
CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;C:\java;.鼻由。
注意,在CLASSPATH中包含了一個(gè)“當(dāng)前目錄(.)”厚棵。包含了該目錄后蕉世,就可以到任意目錄下去執(zhí)行需要用到該目錄下某個(gè)類的Java程序,即使該路徑并未包含在CLASSPATH中也可以婆硬。原因很簡單:雖然沒有明確的把該路徑包含在CLASSPATH中狠轻,但CLASSPATH中的“.”在此時(shí)就代表了該路徑,如:
假設(shè)在C:\java目錄下有可運(yùn)行的類HelloJava.class彬犯,那么
C:\> set
CLASSPATH=C:\jdk\jre\lib\rt.jar;. //設(shè)置CLASSPATH環(huán)境變量向楼,注意最后有一個(gè)“.”
C:\> cd java //轉(zhuǎn)到C:\java目錄
C:\java> java
HelloJava //運(yùn)行HelloJava
Hello, Java. //運(yùn)行結(jié)果
C:\java> _
****在Linux下設(shè)置
Linux下使用“變量名=變量值”設(shè)置變量查吊,并使用export命令將其導(dǎo)出為環(huán)境變量。為了使每一次登錄都自動(dòng)設(shè)置好這些變量蜜自,你需要在~/.bash_profile里或者~./bashrc里進(jìn)行設(shè)置菩貌,如
exportJAVA_HOME=/usr/local/jdk
exportPATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.
設(shè)置PATH時(shí)用的$JAVA_HOME是指替換變量JAVA_HOME的值到$JAVA_HOME所在位置。如上句實(shí)際就是export PATH=/usr/local/jdk/bin:$PATH重荠。這句中$PATH也是同樣的作用箭阶,不過這里的PATH是指以前設(shè)置的PATH變量的值,而非本次設(shè)置PATH變量的值戈鲁。
注意仇参,在CLASSPATH中包含了一個(gè)“當(dāng)前目錄(.)”。包含了該目錄后婆殿,就可以到任意目錄下去執(zhí)行需要用到該目錄下某個(gè)類的Java程序诈乒,即使該路徑并未包含在CLASSPATH中也可以。原因很簡單:雖然沒有明確的把該路徑包含在CLASSPATH中婆芦,但CLASSPATH中的“.”在此時(shí)就代表了該路徑怕磨,例如
假設(shè)在/home/fancy/java目錄下有可運(yùn)行的類HelloJava.class,那么
[fancy@matrix fancy]$
export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. //設(shè)置CLASSPATH消约,注意最后的“.”
[fancy@matrix fancy]$
cd ~/java //轉(zhuǎn)到/home/fancy/java
[fancy@matrix java]$
pwd //顯示當(dāng)前目錄
/home/fancy/java //當(dāng)前目錄是/home/fancy/java
[fancy@matrix java]$
java HelloJava //運(yùn)行HelloJava
Hello, Java //運(yùn)行結(jié)果
[fancy@matrix java]$ _
析
*****實(shí)例分析
只是操作系統(tǒng)不同肠鲫,略有差別。
兩個(gè)例子都提到一個(gè)“可運(yùn)行的類”或粮,它是指包含了public static void main(String[] args)方法的類导饲,這將在下一章HelloJava一節(jié)中詳述。例中的CLASSPATH均未包含HelloJava.class所在的目錄(C:\java,
/home/fancy/java)氯材,但是均包含了當(dāng)前目錄(.)渣锦。因此轉(zhuǎn)到包含HelloJava.class的目錄下去執(zhí)行java HelloJava,在Java尋找到CLASSPATH中的“. (當(dāng)前目錄氢哮,C:\java,
/home/fancy/java)”時(shí)袋毙,找到了HelloJava.class,運(yùn)行成功冗尤。