亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java生成jar包的方法

2019-11-26 15:24:15
字體:
來源:轉載
供稿:網友

本文實例講述了java生成jar包的方法,是非常實用的技巧。分享給大家供大家參考。具體分析如下:

很多Java初學者都會有這樣的疑問:Java編寫的application程序是否能夠最終形成一個類似于exe一樣的可執行文件,難道就只能用命令行運行?

通常來說有兩種方法,一種是制作一個可執行的JAR文件包,然后就可以像.chm文檔一樣雙擊運行了;而另一種是使用JET來進行編譯。但是JET是要用錢買的,而且據說JET也不是能把所有的Java程序都編譯成執行文件,性能也要打些折扣。所以,使用制作可執行JAR 文件包的方法就是最佳選擇了,何況它還能保持Java的跨平臺特性。

下面就來看看什么是JAR文件包吧:

1. JAR文件包

JAR文件就是Java Archive File,顧名思意,它的應用是與Java息息相關的,是Java的一種文檔格式。JAR文件非常類似ZIP文件――準確的說,它就是ZIP文件,所以叫它文件包。JAR文件與ZIP文件唯一的區別就是在JAR文件的內容中,包含了一個META-INF/MANIFEST.MF文件,這個文件是在生成JAR文件的時候自動創建的。舉個例子,如果我們具有如下目錄結構的一些文件:
  ==
-- test
-- Test.class
把它壓縮成ZIP文件test.zip,則這個ZIP文件的內部目錄結構為:
  test.zip
  `-- test
    `-- Test.class

如果我們使用JDK的jar命令把它打成JAR文件包test.jar,則這個JAR文件的內部目錄結構為:
 test.jar
  |-- META-INF
  |  `-- MANIFEST.MF
  `-- test
    `--Test.class

2. 創建可執行的JAR文件包

制作一個可執行的JAR文件包來發布你的程序是JAR文件包最典型的用法。

Java程序是由若干個.class文件組成的。這些.class文件必須根據它們所屬的包不同而分級分目錄存放;運行前需要把所有用到的包的根目錄指定給CLASSPATH環境變量或者java命令的-cp參數;運行時還要到控制臺下去使用java命令來運行,如果需要直接雙擊運行必須寫Windows的批處理文件(.bat)或者Linux的Shell程序。因此,許多人說,Java是一種方便開發者苦了用戶的程序設計語言。

其實不然,如果開發者能夠制作一個可執行的JAR文件包交給用戶,那么用戶使用起來就方便了。在Windows下安裝JRE(Java Runtime Environment)的時候,安裝文件會將.jar文件映射給javaw.exe打開。那么,對于一個可執行的JAR文件包,用戶只需要雙擊它就可以運行程序了,和閱讀.chm文檔一樣方便(.chm 文檔默認是由hh.exe打開的)。那么,現在的關鍵,就是如何來創建這個可執行的JAR文件包。

創建可執行的JAR文件包,需要使用帶cvfm參數的jar命令,同樣以上述test目錄為例,命令如下:

jar cvfm test.jar manifest.mf test 

這里test.jar和manifest.mf兩個文件,分別是對應的參數f和m,其重頭戲在manifest.mf。因為要創建可執行的JAR文件包,光靠指定一個manifest.mf文件是不夠的,因為MANIFEST是JAR文件包的特征,可執行的JAR文件包和不可執行的JAR文件包都包含MANIFEST。關鍵在于可執行JAR文件包的MANIFEST,其內容包含了 Main-Class一項。這在MANIFEST中書寫格式如下:

Main-Class: 可執行主類全名(包含包名) 

例如,假設上例中的Test.class是屬于test包的,而且是可執行的類(定義了 public static void main(String[]) 方法),那么這個manifest.mf可以編輯如下:

Main-Class: test.Test <回車> 

這個manifest.mf可以放在任何位置,也可以是其它的文件名,只需要有Main-Class: test.Test 一行,且該行以一個回車符結束即可。創建了manifest.mf文件之后,我們的目錄結構變為:
  ==
   |-- test
   |  `-- Test.class
  `-- manifest.mf

這時候,需要到test目錄的上級目錄中去使用jar命令來創建JAR文件包。也就是在目錄樹中使用“==”表示的那個目錄中,使用如下命令:

jar cvfm test.jar manifest.mf test 

之后在“==”目錄中創建了test.jar,這個test.jar就是執行的JAR文件包。運行時只需要使用java -jar test.jar 命令即可。

需要注意的是,創建的JAR文件包中需要包含完整的、與Java程序的包結構對應的目錄結構,就像上例一樣。而 Main-Class 指定的類,也必須是完整的、包含包路徑的類名,如上例的test.Test;而且在沒有打成JAR文件包之前可以使用java <類名> 來運行這個類,即在上例中 java test.Test 是可以正確運行的 (當然要在 CLASSPATH 正確的情況下)。

希望本文所述對大家的Java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久中文字幕在线视频| 亚洲xxxx18| 国产成人精品亚洲精品| 日韩成人在线视频网站| 欧美在线视频网站| 亚洲午夜久久久久久久| 日韩欧美中文字幕在线观看| 日韩国产在线播放| 亚洲国产一区二区三区在线观看| 美日韩精品免费观看视频| 欧美性生交xxxxx久久久| 亚洲无限av看| 欧美亚洲国产成人精品| 久久伊人色综合| 激情成人在线视频| 亚洲精品美女视频| 欧美视频在线视频| 91亚洲精品久久久| 国产精品久久久久久久久久尿| 亚洲欧美国产精品久久久久久久| 国产一级揄自揄精品视频| 欧美黑人xxxx| 97超碰蝌蚪网人人做人人爽| 久久亚洲精品一区| 亚洲图片在线综合| 亚洲情综合五月天| 日本精品一区二区三区在线| 欧美日韩国产成人在线观看| 日韩av免费网站| 亚洲第一精品夜夜躁人人躁| 91精品国产91久久久久| 91精品国产91久久| 91av视频在线播放| 国产精品美腿一区在线看| 日韩激情第一页| 97av在线视频免费播放| 一区二区三欧美| 欧美日韩亚洲国产一区| 亚洲国产欧美自拍| 亚洲成人av在线| 日本精品免费一区二区三区| 欧美日韩在线观看视频| 亚洲乱码国产乱码精品精天堂| 日韩国产欧美精品在线| 少妇高潮久久久久久潘金莲| 国产精品99蜜臀久久不卡二区| 尤物精品国产第一福利三区| 亚洲夜晚福利在线观看| 欧美激情亚洲自拍| 午夜欧美大片免费观看| 中文字幕亚洲一区二区三区| 精品成人69xx.xyz| 亚洲一区二区在线| 国产精品久久久久久久久久三级| 色综合久久中文字幕综合网小说| 在线观看欧美日韩国产| 色久欧美在线视频观看| 精品高清一区二区三区| 九九热这里只有精品6| 精品福利视频导航| 日本一区二区在线免费播放| 日韩av手机在线观看| 国产亚洲欧美一区| 精品少妇v888av| 国产精品第一页在线| 亚洲精品久久久一区二区三区| 81精品国产乱码久久久久久| 欧美黄色片在线观看| 国产成人精品在线播放| 4438全国亚洲精品在线观看视频| 色综合伊人色综合网| 国产91精品在线播放| 97国产suv精品一区二区62| 亚洲精品日产aⅴ| 麻豆一区二区在线观看| 668精品在线视频| 91久久精品视频| 久久久www成人免费精品张筱雨| 日韩免费在线播放| 色中色综合影院手机版在线观看| 57pao精品| 日韩欧美在线视频日韩欧美在线视频| 亚洲二区中文字幕| 欧美日韩在线观看视频| 欧美日韩亚洲精品一区二区三区| 亚洲自拍小视频免费观看| 欧美激情精品久久久久久久变态| 91啪国产在线| 日韩精品免费观看| 欧美成人激情在线| 日韩电影大片中文字幕| 怡红院精品视频| 国产亚洲精品一区二555| 免费91麻豆精品国产自产在线观看| 在线精品高清中文字幕| 亚洲午夜国产成人av电影男同| 精品国产91久久久久久| 国产福利视频一区二区| 日韩最新中文字幕电影免费看| 亚洲精品天天看| 国产亚洲一区二区在线| 亚洲第一视频在线观看| 久久精品国产v日韩v亚洲| 日本精品视频网站| 蜜月aⅴ免费一区二区三区| 午夜精品久久久久久久男人的天堂| 国产日韩欧美一二三区| 亚洲国产精品成人一区二区| 亚洲福利视频网站| 亚洲精品永久免费| 国产精欧美一区二区三区| 国产一区二区三区三区在线观看| 日韩中文字幕在线视频播放| 91探花福利精品国产自产在线| 亚洲男人的天堂在线播放| 亚洲国产美女精品久久久久∴| 欧美电影免费观看| 欧美一区二区大胆人体摄影专业网站| 久久天天躁狠狠躁夜夜爽蜜月| 日韩成人在线视频网站| 国产精品久久久999| 国内成人精品视频| 国产精品亚洲精品| 欧美精品日韩三级| 欧美日韩在线第一页| 国产97色在线|日韩| 国产精品偷伦视频免费观看国产| 96精品久久久久中文字幕| 少妇精69xxtheporn| 国产精品视频播放| 亚洲国产成人av在线| 久久久精品999| 亚洲自拍偷拍色图| 欧美成年人在线观看| 久久精品久久久久电影| 日韩电影免费在线观看| 欧美在线日韩在线| 91亚洲精品一区二区| 97成人超碰免| 在线观看成人黄色| 欧美精品videosex极品1| 51视频国产精品一区二区| 久久99国产精品久久久久久久久| 久久精品最新地址| 亚洲综合一区二区不卡| 国产精品7m视频| 欧美性开放视频| 亚洲综合在线小说| 亚洲欧美国产高清va在线播| 国产亚洲免费的视频看| 精品丝袜一区二区三区| 亚洲大胆人体在线| 九九热最新视频//这里只有精品| www.欧美免费| 欧美又大粗又爽又黄大片视频| 亚洲国产高清高潮精品美女| 亚洲欧美精品在线| 日本精品久久电影| 久久成人精品电影| 亚洲免费一级电影| 日韩在线免费视频观看| 欧美激情影音先锋| 国产精品一区二区久久| 欧美精品中文字幕一区|