1. 程式人生 > 程式設計 >Java jar打包工具使用方法步驟解析

Java jar打包工具使用方法步驟解析

java的jar是一個打包工具,用於將我們編譯後的class檔案打包起來,這裡面主要是舉一個例子用來說明這個工具的使用。

在C盤下的temp資料夾下面:

有一個com.pack.surfront的package 這個package下面有一些已經class檔案如:Test1.class,Test2.class,Test3.class,其中Test1.class下有一個可執行檔案。

我們開啟cmd,然後cd temp到temp資料夾下面,因為com.pack.surfront是包路徑,不需要再進去然後再打包,打包的時候必須要把這個包也打進去,否則的話打出來的包中的類將無法訪問了。

進去之後執行命令:

jar cvf hello.jar com

然後按enter鍵即可,解釋一下,這個jar是jdk下的一個命令,然後cvf是三個引數,在cmd下直接輸入jar即可參看一下這個命令的介紹,這裡不說這個(其實是我也沒查過!icon_lol.gif )

hello.jar是打出來的包的名稱,這個是可以隨便取的。com是那個包的頂端路徑。這個命令執行完之後就會在temp路徑下面生成一個hello.jar檔案,我們可以用rar解壓縮檔案解壓他,可以看到其中有一個META-INF的目錄,該目錄下有一個MANIFEST.MF檔案,開啟該檔案,可以看到

Manifest-Version: 1.0
Created-By: 1.6.0_26 (Sun Microsystems Inc.)

這兩行內容,一般如果從外面引用這個jar裡面的類和方法有這些就足夠了,但是我的Test1.class檔案裡面還有一個main方法,我想打完包之後可以執行這個jar,那麼還需要一些其他的配置,我們在上面的檔案內容中新增一行,新增完之後檔案全部內容如下:

Manifest-Version: 1.0
Created-By: 1.6.0_26 (Sun Microsystems Inc.)
Main-Class: com.pack.surfront.Test1

第三行就是指定了一個主類,說明該類中存在main方法,那麼之後這個jar就可以執行了。注意那一行一定要把完整的class檔案的路徑寫全,不然會提示找不到該類的。

把這個檔案改成這樣了之後把這個MANIFEST.MF檔案拿出來放在temp目錄下面,然後把剛才生成的hello.jar和解壓後的其他檔案全都刪除。然後重新打包一次

這時候temp目錄下面應該是這樣的結構:原來的com資料夾,我們修改後的MANIFEST.MF檔案,這時候在cmd下執行:
jar cvfm hello.jar MANIFEST.MF com看出來有什麼不同了沒?一個是將原來的cvf改成cvfm,然後再hello.jar後添加了一個MANIFEST.MF她的意思就是指打包的時候不再生成(m引數的功能)MANIFEST.MF檔案,而是把我們指定的mf檔案打包進去。執行這個命令之後就完事了。然後在cmd下面執行:

java -jar hello.jar這個時候main方法就會執行,如果他需要什麼引數則直接放在後面即可。和直接執行java Test 引數 是一樣的。OK,就到這裡吧。如果如果覺得我說的不好敬請留言拍磚@!icon_lol.gif

新增使用的jar包:

Class-Path: commons-beanutils.jar commons-collections.jar commons-digester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar struts-legacy.jar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。