激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java生成jar包的方法

java生成jar包的方法

2019-12-01 12:52shichen2014 JAVA教程

這篇文章主要介紹了java生成jar包的方法,對Java生成jar包的具體步驟及方法進行了較為詳細的描述,是非常實用的技巧,需要的朋友可以參考下

本文實例講述了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目錄為例,命令如下:

?
1
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中書寫格式如下:

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

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

?
1
Main-Class: test.Test <回車>

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

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

?
1
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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
  • JAVA教程java nio基礎使用示例

    java nio基礎使用示例

    傳統的io技術為阻塞的,java新nio是非阻塞的,注冊一個op_read事件,注冊到selector對象上,當有數據到來時候,selector回通知之前注冊事件的對象,進行read處...

    java技術網4712019-10-21
  • JAVA教程java多線程并發executorservice(任務調度)類

    java多線程并發executorservice(任務調度)類

    這篇文章主要介紹了線程并發ScheduledExecutorService類,設置 ScheduledExecutorService ,2秒后,在 1 分鐘內每 10 秒鐘蜂鳴一次 ...

    java教程網4772019-10-31
  • JAVA教程java實現在復制文件時使用進度條(java實現進度條)

    java實現在復制文件時使用進度條(java實現進度條)

    在對大文件操作時,可能會需要些時間,此時為用戶提供進度條提示是非常常見的一項功能,這樣用戶就可以了解操作文件需要的時間信息。本實例為大家...

    java教程網3562019-11-12
  • JAVA教程Java for循環詳解

    Java for循環詳解

    這篇文章主要介紹了Java for循環方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來...

    東邊的雨田3482019-06-23
  • JAVA教程Java 將字符串動態生成字節碼的實現方法

    Java 將字符串動態生成字節碼的實現方法

    本篇文章主要是對Java將字符串動態生成字節碼的實現方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助 ...

    java開發網1982019-10-27
  • JAVA教程Java容器類源碼詳解 Deque與ArrayDeque

    Java容器類源碼詳解 Deque與ArrayDeque

    這篇文章主要介紹了Java容器類源碼詳解 Deque與ArrayDeque,Deque 接口繼承自 Queue接口,但 Deque 支持同時從兩端添加或移除元素,因此又被成為雙端隊列。,需要...

    Givefine4812019-06-26
  • JAVA教程log4j的配置文件詳細解析

    log4j的配置文件詳細解析

    以下小編主要為大家介紹一下log4j的配置文件各個配置項的含義。需要的朋友可以過來參考下 ...

    java之家3472019-10-11
  • JAVA教程java與php的區別淺析

    java與php的區別淺析

    在本篇文章里小編給大家整理了關于java與php的區別以及相關知識點,有興趣的朋友們學習下。...

    laozhang4032019-06-24
主站蜘蛛池模板: 一区二区网 | 97黄色网 | 99精品视频免费 | 视频一区二区不卡 | fc2成人免费人成在线观看播放 | 伊人欧美视频 | 成人在线网站 | 成人福利电影在线观看 | av在线在线| 国产精品一区二区手机在线观看 | 免费观看一级 | aa国产视频一区二区 | 黄色小视频在线免费看 | 成人福利电影在线观看 | 国产一区二区午夜 | 曰韩一级片 | 91看片在线看片 | 91丨九色丨国产在线观看 | 国产午夜亚洲精品午夜鲁丝片 | av成人在线播放 | 欧美日韩精品一区二区三区蜜桃 | 亚洲资源网 | 欧美a在线观看 | 国产日韩欧美 | 天堂在线资源av | 久草在线看片 | 久久国产一二三 | 中国美女一级黄色片 | 欧美一级网 | 成人不卡一区二区 | 国产精品爱久久久久久久 | 国产一级片91 | 免费a级观看| 欧美一级毛片欧美一级成人毛片 | 欧美激情综合网 | 日韩视频在线观看免费视频 | 欧美黄色一区 | 美女黄网站免费观看 | 中国黄色一级生活片 | 91麻豆精品国产91久久久更新资源速度超快 | 91久久久久久久一区二区 |