Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統(tǒng)計

          留言簿(23)

          積分與排名

          優(yōu)秀學(xué)習(xí)網(wǎng)站

          友情連接

          閱讀排行榜

          評論排行榜

          JAVA中jar文件的編寫和應(yīng)用

          JAVA中jar文件的編寫和應(yīng)用

          作者:張桂權(quán)

          ??? 我想JAVA的愛好者,尤其是初學(xué)者大都有過這樣的經(jīng)歷,就是喜歡JAVA編程語言(這個人的情況可能不一樣),但是有時候總會覺得JAVA的優(yōu)點便是她的“致命”的缺點。大家的信念依舊是“一次編譯,到處運行”但是就是因為至一點JAVA失去了好多,我們也失去了好多。也許大家都知道,現(xiàn)在業(yè)界最推崇的還是微軟的技術(shù)微軟的產(chǎn)品。.net/c#/.vb/vb.net還是最流行的語言,最受歡迎的軟件開發(fā)語言。因為這些語言都太好學(xué)太好用了。不像JAVA語言那么難懂難用。在軟件開發(fā)提出高效的組件開發(fā)的時候,人們都很難想象用JAVA的EJB就行開發(fā),因為不成熟的技術(shù)和不健全的API,讓程序員很難入手。雖然有JBuilder這樣優(yōu)秀的開發(fā)工具,但是有時還是很難著手的(因為他們的體系太復(fù)雜,對于一般人來說會有一點的難度,當(dāng)想開發(fā)應(yīng)用程序的時候)。JAVA的體系夠復(fù)雜了。因為“跨平臺=性”所以JAVA語言或者說JDK不支持產(chǎn)生.exe文件的相應(yīng)的API(應(yīng)為生成.exe文件總要和系統(tǒng)的硬件相關(guān),這是JAVA語言所不用許的)。不過你也沒有必要失望,你但可以使用JBuilder 或者IBM和軟軟的支持JAVA語言開開的工具就行程序開發(fā)與設(shè)計,或者采用JAVA的.jar技術(shù)進(jìn)行相關(guān)的操作,即生成“雙擊就可以運行的.jar文件”,這不失一件很好的事情。(據(jù)我了解JBuilder是不能運行在256內(nèi)存的機(jī)器上的,可見實在太耗內(nèi)存)。好了,現(xiàn)在咱們言歸正傳。總之,。jar 文件還是很管用的。下讓面咱們開始進(jìn)入主題。

          一、制作jar文件

          ??? 在制作.jar 文件之前你必須先編譯好你的.java文件。假設(shè)我們的文件目錄是c:\java\myJava\hello\Hello.java
          現(xiàn)在假設(shè)Hello.java的文件內(nèi)容為:

          /*
          *
          * Hello.java
          *
          */


          public class Hello {

          public static void mian(String[] args){

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

          ? }

          }

          在進(jìn)行.jar 制作的時候你必須把路徑切換到Hello.java 所在的文件目錄的外一層文件夾(.jar文件要在Dos才能創(chuàng)建(windows平臺)),即myJava
          運行如下的命令可以把當(dāng)前文件夾下的所有內(nèi)容都包含在.jar 文件內(nèi)。

          c:\java\myJava>jar cf Hello.jar .

          ??? 說明一下:命令行中 jar 是生成.jar文件的程序的調(diào)用接口。 cf 是一對可選項(options)后面的Hello.jar 就是我們給文件取的名字了,最后一個點號(.)指示工具將當(dāng)前目錄下的所有文件都放進(jìn)jar文件,jar工具進(jìn)行地歸操作,當(dāng)文件夾中含有不止一個文件時。



          二、察看jar文件
          ??? 其實,jar文件是采用WinZip 的格式進(jìn)行文件壓縮的,所以你可采用WinZip 解壓縮文件的,還可以利用如下的命令行察看:

          c:\java\myJava>jar tf Hello.jar
          你會看到本地機(jī)子里的jvm 的版本以及其生產(chǎn)廠家信息
          還有 Main-Class: Hello.Hello 等信息。


          三、把文件移到你喜歡的目錄
          ??? 假設(shè)你想把jar 文件移到目錄:d:\Java2\myFirst 下面,請運行如下的命令:
          d:\Java2\myFirst> jar xf c:\java\Hello.jar
          說明一下:jar 文件可以封閉,就意味著指定的包中的每一個類必須包含在同一個目錄下。

          四:內(nèi)容清單 manifest.fm
          ??? manifest.fm 文件是由鍵值對組成的。其中包含前面所說的jvm 的版本號 / 創(chuàng)建他的廠商等。

          五、增加清單的內(nèi)容
          ?? 當(dāng)若我們編輯了如下的一個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 . 部分是因為類的路徑環(huán)境變量中沒有(.)路徑。


          也可以
          c:\java\myJava\Hello>java -jar Hello.jar

          如果你的電腦是windows xp 版本 你還可以直接到你的c:\java\myJava\Hello 下雙擊Hello.jar 文件 但是你看不到運行的結(jié)果
          (圖形界面程序可以這樣運行),在windows 2000 上面,jar 文件被視作.zip 文件所以你一雙擊他就會把你的文件解壓,而不是運行文件。所以你只有采用命令行的方式了。


          運行命令之后,你會看到在你的屏幕上顯示的
          Hello, World !
          字樣。


          結(jié)束語:

          到這里我們jar 文件的創(chuàng)建和運行等相關(guān)的介紹算結(jié)束了。你可以試著去驗證一下。然后創(chuàng)建復(fù)雜的程序,比如具有界面的高級程序。


          如果你對jar 文件 很感興趣 或者 想對她有更深刻的了解那么你可以在dos 低下敲入 jar 察看更多的幫助信息和許多options 的解釋。


          jar 幫組文檔內(nèi)容:


          C:\>jar

          用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
          選項:
          -c 創(chuàng)建新的存檔
          -t 列出存檔內(nèi)容的列表
          -x 展開存檔中的命名的(或所有的〕文件
          -u 更新已存在的存檔
          -v 生成詳細(xì)輸出到標(biāo)準(zhǔn)輸出上
          -f 指定存檔文件名
          -m 包含來自標(biāo)明文件的標(biāo)明信息
          -0 只存儲方式;未用ZIP壓縮格式
          -M 不產(chǎn)生所有項的清單(manifest〕文件
          -i 為指定的jar文件產(chǎn)生索引信息
          -C 改變到指定的目錄,并且包含下列文件:
          如果一個文件名是一個目錄,它將被遞歸處理。
          清單(manifest〕文件名和存檔文件名都需要被指定,按'm' 和 'f'標(biāo)志指定的相同順序。
          示例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/ .

          posted on 2006-12-16 10:44 都市淘沙者 閱讀(1462) 評論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

          主站蜘蛛池模板: 大洼县| 黔西| 元朗区| 凭祥市| 丰城市| 镇巴县| 永康市| 长顺县| 关岭| 东丰县| 邳州市| 区。| 遵化市| 金坛市| 和龙市| 瑞昌市| 库伦旗| 安达市| 白沙| 乐至县| 星子县| 台中市| 宾阳县| 郑州市| 定兴县| 青神县| 南华县| 曲水县| 华容县| 木里| 焦作市| 白水县| 拜泉县| 枣阳市| 玛多县| 高雄县| 晋城| 阜城县| 凉城县| 漳州市| 东海县|