JAVA中jar檔案的編寫和應用
我想JAVA的愛好者,尤其是初學者大都有過這樣的經曆,就是喜歡JAVA程式設計語言(這個人的情況可能不一樣),但是有時候總會覺得JAVA的優點便是她的“致命”的缺點。大家的信念依舊是“一次編譯,到處運行”但是就是因為至一點JAVA失去了好多,我們也失去了好多。也許大家都知道,現在業界最推崇的還是微軟的技術微軟的產品。.net/c#/.vb/vb.net還是最流行的語言,最受歡迎的軟體開發語言。因為這些語言都太好學太好用了。不像JAVA語言那麼難懂難用。在軟體開發提出高效的組件開發的時候,人們都很難想象用JAVA的EJB就行開發,因為不成熟的技術和不健全的API,讓程式員很難入手。雖然有JBuilder這樣優秀的開發工具,但是有時還是很難著手的(因為他們的體系太複雜,對於一般人來說會有一點的難度,當想開發應用程式的時候)。JAVA的體系夠複雜了。因為“跨平台=性”所以JAVA語言或者說JDK不支援產生.exe檔案的相應的API(應為產生.exe檔案總要和系統的硬體相關,這是JAVA語言所不用許的)。不過你也沒有必要失望,你但可以使用JBuilder 或者IBM和軟軟的支援JAVA語言開開的工具就行程式開發與設計,或者採用JAVA的.jar技術進行相關的操作,即產生“雙擊就可以啟動並執行.jar檔案”,這不失一件很好的事情。(據我瞭解JBuilder是不能運行在256記憶體的機器上的,可見實在太耗記憶體)。好了,現在咱們言歸正傳。總之,。jar 檔案還是很管用的。下讓面咱們開始進入主題。
一、製作jar檔案
在製作.jar 檔案之前你必須先編譯好你的.java檔案。假設我們的檔案目錄是c:\java\myJava\hello\Hello.java
現在假設Hello.java的檔案內容為:
/*
*
* Hello.java
*
*/
public class Hello {
public static void mian(String[] args){
System.out.println("Hello, World !");
}
}
在進行.jar 製作的時候你必須把路徑切換到Hello.java 所在的檔案目錄的外一層檔案夾(.jar檔案要在Dos才能建立(windows平台)),即myJava
運行如下的命令可以把當前檔案夾下的所有內容都包含在.jar 檔案內。
c:\java\myJava>jar cf Hello.jar .
說明一下:命令列中 jar 是產生.jar檔案的程式的調用介面。 cf 是一對可選項(options)後面的Hello.jar 就是我們給檔案取的名字了,最後一個點號(.)指示工具將目前的目錄下的所有檔案都放進jar檔案,jar工具進行地歸操作,當檔案夾中含有不止一個檔案時。
二、察看jar檔案
其實,jar檔案是採用WinZip 的格式進行檔案壓縮的,所以你可採用WinZip 解壓縮檔案的,還可以利用如下的命令列察看:
c:\java\myJava>jar tf Hello.jar
你會看到本地機子裡的jvm 的版本以及其生產廠家資訊
還有 Main-Class: Hello.Hello 等資訊。
三、把檔案移到你喜歡的目錄
假設你想把jar 檔案移到目錄:d:\Java2\myFirst 下面,請運行如下的命令:
d:\Java2\myFirst> jar xf c:\java\Hello.jar
說明一下:jar 檔案可以封閉,就意味著指定的包中的每一個類必須包含在同一個目錄下。
四:內容清單 manifest.fm
manifest.fm 檔案是由索引值對組成的。其中包含前面所說的jvm 的版本號碼 / 建立他的廠商等。
五、增加清單的內容
當若我們編輯了如下的一個addContents.txt 檔案
Name: myJava\Hello\
Sealed: true
則可以通過如下命令把其加入到我們的資訊清單檔中:
c:\java\myJava>jar umf addContents.txt Hello.jar
六、運行jar檔案
你可以通過以下的方式來運行jar檔案:
c:\java\myJava>java -classpath . -jar Hello.jar
說明:需要命令的 -classpath . 部分是因為類的路徑環境變數中沒有(.)路徑。
也可以
c:\java\myJava\Hello>java -jar Hello.jar
如果你的電腦是windows xp 版本 你還可以直接到你的c:\java\myJava\Hello 下雙擊Hello.jar 檔案 但是你看不到啟動並執行結果
(圖形介面程式可以這樣運行),在windows 2000 上面,jar 檔案被視作.zip 檔案所以你一雙擊他就會把你的檔案解壓,而不是運行檔案。所以你只有採用命令列的方式了。
運行命令之後,你會看到在你的螢幕上顯示的
Hello, World !
字樣。
結束語:
到這裡我們jar 檔案的建立和運行等相關的介紹算結束了。你可以試著去驗證一下。然後建立複雜的程式,比如具有介面的進階程式。
如果你對jar 檔案 高度興趣 或者 想對她有更深刻的瞭解那麼你可以在dos 低下敲入 jar 察看更多的協助資訊和許多options 的解釋。
jar 幫組文檔內容:
C:\>jar
用法:jar {ctxu}[vfm0Mi] [jar-檔案] [manifest-檔案] [-C 目錄] 檔案名稱 ...
選項:
-c 建立新的存檔
-t 列出存檔內容的列表
-x 展開存檔中的命名的(或所有的〕檔案
-u 更新已存在的存檔
-v 產生詳細輸出到標準輸出上
-f 指定封存檔案名
-m 包含來自標明檔案的標明資訊
-0 只儲存方式;未用ZIP壓縮格式
-M 不產生所有項的清單(manifest〕檔案
-i 為指定的jar檔案產生索引資訊
-C 改變到指定的目錄,並且包含下列檔案:
如果一個檔案名稱是一個目錄,它將被遞迴處理。
清單(manifest〕檔案名稱和封存檔案名都需要被指定,按'm' 和 'f'標誌指定的相同順序。
樣本1:將兩個class檔案存檔到一個名為 'classes.jar' 的封存檔案中:
jar cvf classes.jar Foo.class Bar.class
樣本2:用一個存在的清單(manifest)檔案 'mymanifest' 將 foo/ 目錄下的所有
檔案存檔到一個名為 'classes.jar' 的封存檔案中:
jar cvfm classes.jar mymanifest -C foo/ .
.....................................................................................................................................................