[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Java > 正文
安裝J2SE
http://www.linuxcenter.com.tw/ YiHong (2001-06-07 13:04:00)
    所謂的J2SE全名為The JavaTM 2 Platform, Standard Edition,現在最新的版本為1.3.1,各種作業系統(Solaris SPARC/x86、Linux、Windows),有相對應的J2SE,可以至Sun的網站Download(http://java.sun.com/j2se/1.3/)。
 
安裝: 
在Linux上安裝J2SE:

在Sun的網站有兩種版本可供下載,一種是RedHat RPM shell script形式,一種是GNUZIP Tar shell script形式。在開始安奘前,請切換使用者為su。

RedHat RPM shell script: 
執行下載的檔案:

切換至該檔案的目錄,執行:
    ./j2sdk-1_3_1-linux-i386-rpm.bin

該檔案是一個shell script,所以在執行前請先確定檔案有執行的權限
    chmod +x j2sdk-1_3_1-linux-i386-rpm.bin

或直接用
    sh  j2sdk-1_3_1-linux-i386-rpm.bin

來執行。

在看完License的宣告後,當然是yes,此時就會開始解壓縮,完成後在相同的路徑下,會出現一個rpm的檔案jdk-1.3.1.i386.rpm,接著再執行:
    rpm -ivh jdk-1.3.1.i386.rpm 

就會進行安裝。若出錯誤訊息,說有dependence的問題,則加入 --nodeps的option即可。
    rpm -ivh jdk-1.3.1.i386.rpm --nodeps

完成後,JDK被安裝在/usr/java/jdk1.3.1,記得將/usr/java/jdk1.3.1/bin加入PATH哦。

GNUZIP Tar shell script: 
執行下載的檔案:

切換至該檔案的目錄,在執行該程式之前,請先決定要將JDK安裝在什麼地方,因為執行該shell script後,會將jdk1.3.1安裝在執行安裝的路徑下。

所以請先決定所以要安裝的路徑,將j2sdk-1_3_1-linux-i386.bin搬到該目錄下,執行:
    ./j2sdk-1_3_1-linux-i386.bin

一樣請先確定該檔案是否有執行的權限。

看完License後,一樣是key入yes,則開始解壓縮,完成後再個目錄會多了一個jdk1.3.1的目錄,即安裝完成。一樣記得將jdk1.3.1下的bin加入PATH。
 
在Windows上安裝J2SE:

windows的JDK安裝很簡單,只要執行下載的檔案,並隨著指示即可完成,在此不多加贅述。
 
J2SE的目錄架構(以windows為例):
 
 安裝完後,目錄的結構如左: 
jdk1.3.1為安裝的根目錄,
以下針對一些重要的目錄作介紹:

jdk1.3.1\bin:
這裡放置的都是開發者所需要的工具,都是可執行檔,例如:java、javac、javah、rmic、rmiregistry等等,所以最好將只路徑加入PATH。

jdk1.3.1\lib:
開發工具所需要的檔案,例如:tools.jar,dt.jar,而jdk1.3.1還將htmlconverter.jar也放進來,可以不用在分開下載。

jdk1.3.1\jre:
顧名思義,就是runtime的根目錄,在執行java程式時,可從系統的property--java.home,得到該路徑。

jdk1.3.1\jre\lib:
libraries和工具所需要的檔案,有一些可執行檔,一些dll檔。

jdk1.3.1\jre\bin\classic:
Java 2 Classic Virtual Machinen所使用的dll檔。

jdk1.3.1\jre\bin\hotspot:
Java HotSpotTM Client Virtual Machine所使用的dll檔。

jdk1.3.1\jre\lib:
主要java runtime environment所需要的library、property、和resources都放在這裡。

jdk1.3.1\jre\lib\ext:
和擴充機制有關,放一些額外package的jar檔,或helper的jar檔。放到這裡的jar檔,當執行java十雖然沒有加入CLASSPATH,一樣可被找到。

jdk1.3.1\jre\lib\security:
存放Security Manager所使用的檔案,例如:java.policy,java.security。 
 
安裝後的設定: 
設定PATH:
先將 [JDK root]\bin加入PATH,如此一來,在命令列直接打java就能執行java的程式了。因為之前說過,在bin這個目錄下放的就是開發這用的工具,例如:java、javac、javadoc、javah、rmic等等。

設定CLASSPATH:
這個設定是用在當執行java的程式時,VM要去哪裡找所要執行的class,或程式中用到的class,等一下會說明java VM尋找class的機制。
所以如果你有一些class是經常要用到的,或是執行某個程式必須要用到其他的class時,則要讓java VM可以找到所要引用的class,最簡單的方式是將該class寫入CLASSPATH中。另外,CLASSPATH通常都會設  . (即目前路徑),以及 ../ (執行路徑的上一層),此外,windows的分隔符號為分號(;),linux上則為茂號(:)。

例如:
    在windows的環境下:
    set CLASSPATH=.;../;c:\MyClass.class;c:\MyJar.jar

 
基本觀念的介紹: 
java為物件導向的程式語言,對java來說,我們寫的一支程式,至少就是一個以上的class(意思類似於類別,以下我們還是會直接寫class),而class和class可以互相繼承或是引用(假使所要引用或是繼承的class並沒有多加限制的話),而Java Platform將classes大概分為三大類,

Bootstrap classes:
就是構成主要Java Platform的基本classes,包含在rt.jar和i18n.jar這兩個jar檔裡,放在[JDK root]\jre\lib目錄下。只要執行java,這些classes可以自動被找到。

Extension classes:
就是在[JDK root]\jre\lib\ext下,所有.jar的檔案,所謂的jar檔,其實就是一大堆classes的集合,用java提供的tool---jar,將很多的class壓縮成一個.jar的檔案。廣泛來說,其實jar是一個壓縮工具,所以.jar裡還可以放置其他的檔案,或是程式執行時所需要的resources,例如:圖形檔,純文字檔,設定檔等等。
而放在[JDK root]\jre\lib\ext下的jar檔,Java VM在執行時也會自動找到。
(此即所謂的Extension Mechanism。)

User classes:
開發者或是一般使用者,所要用的classes,要Java VM找到這些classes有兩種方式, 
將所要用的classes加入環境變數CLASSPATH中。 
在執行程式的command line多加入參數 -classpath 來指定其他的classes。例如要執行MyClass.class時,要用到YourClass.class,我將YourClass.class放在c:\otherclasses下,而MyClass.class放在c:\myclasses下,則執行時下以下的指令即可:
java -classpath c:\otherclasses c:\myclasses\MyClass 
所以當新寫了一個class,用javac編譯完後,用java執行時,出現ClassNotFountException時,即說明你要執行的class,或是引用的class,Java VM在以上三類中classes中沒有找到。解決的方式就是將所要用到的classes加入第二和第三類的classes中,在執行一次即可。
 
簡單的例: 
public class HelloWorld{

    public static void main(String[] args){

        System.out.println("Hello World!!");

    }

}

隨便打開一個文字編輯器,將以上的程式並貼上,將該檔案存成HelloWorld.java,注意大小寫對java來說是有差別的,儲存完畢後到console下,切換路徑到存放檔案的目錄下,執行:

javac HelloWorld.java

則在相同的路徑下會產生一個HelloWorld.class的檔案,即所謂的class檔,接著在執行:

java HelloWorld

則會在console輸出"Hello World!!"的字串。若有問題,參考安裝後的設定,以及基本觀念兩節。
 
Jar Tool的基本用法: 
jar是用來將很多classes包成一個jar檔的壓縮工具,即基本原理和zip相當,所以用來解zip檔的解壓所工具,一樣可以將jar檔解開。jar的主要目的是壓縮classes,加速網路下載時間。基本用法:

將classes檔案壓縮 
jar cvf MyJar.jar c:\myclasses\*.class

c --- create jar file ,壓縮檔案,產生jar檔。
v --- verbose
f  --- 指定檔案名稱

上一個指令的意思是將c:\myclasses\下所有的class檔,包成MyJar.jar檔,並在處理的過程中秀訊息到console。

將jar檔解開: 
jar xvf MyJar.jar

x --- 解壓縮 
v --- verbose
f  --- 指定檔案名稱

上一個指令是將MyJar.jar解開到現在的目錄。

jar tf MyJar.jar 
t --- 檢視Jar檔內容
f  --- 指定檔案名稱

上一個指令即檢視MyJar.jar裡的檔案。 (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章

======
 

★  樊強制作 歡迎分享  ★