JAVA 中 jar 文件的編寫和應用

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/ .

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章