一、前言
通過eclipse導出jar包十分方便快捷,但作為碼農豈能滿足GUI的便捷呢?所以一起來CLI吧!
二、JAR包
JAR包是基于ZIP文件格式,用于將多個.java文件和各種資源文件,或將多個.class和各種資源打包為一個文件。用于發布,部署,封裝庫、組件和插件程序,從而被編譯器和JVM使用。
三、通過jar命令打包
1. 格式 jar [option]* 文件名
必選選項(并且僅能選用其中一個)
-c ,創建一個jar包
-t ,顯示jar包中的內容列表
-x ,解壓jar包
-u ,添加文件到jar包
可選選項
-v ,生成詳細報告,并輸出到標準輸出設備
-m ,用于指定manifest.mf文件。(默認情況下會自動生成META-INF/MANIFEST.MF文件)
-O ,創建jar包時不對內容進行壓縮
-M ,不自動產生manifest.mf文件
-i ,創建jar包時創建META-INF/INDEX.LIST索引文件
-C ,表示切換到指定目錄來執行jar命令
-f ,指定jar包的文件路徑
2. 常用示例
示例的目錄結構:
/ |-- src | |-- test.class |-- META-INF | |-- MAINFEST.MF |-- MAINFEST.MF |-- other |--additional.class
命令:
/* 1. 默認打包 */ // 生成的src.jar中就含src目錄和jar自動生成的META-INF目錄(內含MAINFEST.MF清單文件) jar -cvf src.jar src /* 2. 查看包內容(jar過大時就無法查看) */ jar -tvf src.jar /* 3. 解壓jar包 */ jar -xvf src.jar /* 4. 提取jar包部分內容 */ jar -xvf src.jar src\test.class /* 5. 追加內容到jar包 */ //追加MAINFEST.MF清單文件以外的文件,會追加整個目錄結構 jar -uvf src.jar other\additional.class //追加清單文件,會追加整個目錄結構(src.jar會包含META-INF目錄) jar -uMvf src.jar META-INF\MAINFEST.MF /* 6. 創建自定義MAINFEST.MF的jar包 */ jar -cMvf src.jar src META-INF // 通過-m選項配置自定義MAINFEST.MF文件時,自定義MAINFEST.MF文件必須在位于工作目錄下才可以 jar -cmvf MAINFEST.MF src.jar src
三、通過Eclipse導出jar
在需導出的包、類上鼠標右鍵點擊“Export”,然后選擇“Java”下的“JAR file”,然后就是各種下一步就OK了。
四、可執行的JAR包
當jar包中包含可執行程序時,就可以通過 java -jar src.jar 命令來執行該可執行程序。打包的過程與上述操作無異,就是多了一步——配置META-INF/MAINFEST.MF文件。
關于META-INF目錄以及META-INF/MAINFEST.MF清單文件的內容,將在《Java魔法堂:打包知識點之META-INF/MAINFEST.MF》中探討。
尊重原創,轉載請注明來自:http://www.cnblogs.com/fsjohnhuang/p/4046098.html ^_^肥仔John
參考
http://blog.csdn.net/zhifeiyu2008/article/details/8829637
文章列表