我java菜鳥,最近一直用fat_jar打包,感覺什么都不會,就一頓點擊next,實在學習不到東西,所有自己參考網(wǎng)上資料學習了一下。
1 jar文件打包基本的命令格式,我就不詳細說了.諸位只需要在cmd命令行下敲入jar命令,就可以出現(xiàn)各個參數(shù)的具體含義,而且說明的很清楚,其中還有兩個基本的例子。
2 打包單個文件夾下面的包,只需要jar -(這個橫線可有可無)cvf(一般來說是這三個選項組合在一起) 你的JAR名字 -C(可有可無) 你的包名
舉例如下: 假設我使用Eclipse建立d:workspacedizhsrcdi estTest.java文件,那么我的命令格式: (前提是你進入到src目錄下,并且編譯了Test.java
具體代碼如下:
package com
public Test{
public static void main(String[] args){
System.out.println("Hello");
}
}
jar -cvf MyFisrst.jar -C . di/test/Test.class -------> 打包一個類文件
jar -cvf MyFisrst.jar -C . di/test/* -------> 打包test下面的所有類文件--->包含子文件夾
jar -cvf MyFisrst.jar -C . di/* -------> 打包di下面的所有類文件--->包含子文件夾
jar -cvf MyFisrst.jar -C . di -------> 打包di下面的所有類文件--->包含子文件夾
jar -cvf MyFisrst.jar -C di -------> 打包di下面的所有類文件--->包含子文件夾
以上命令對于只有單個文件時候,是等價的,我已經(jīng)測試過了,不是的時候我已經(jīng)加注釋了!!!(如果錯了,請您提示我,我好修改)
打包成功后,會出現(xiàn)MyFirst.jar,如果你想生成可執(zhí)行的,我的辦法是,打開生成的jar包中的MAINFEST.MF文件,添加一行:
Main-Class: 你的包中可執(zhí)行的類 ---> 注意:后面有空格,并且最后要回車
在本例中就是
Main-Class: di.test.Test
之后,你就可以雙擊或者通過java -jar執(zhí)行了。
3 如果打包的時候包含多個包文件
設現(xiàn)在有兩個包:di/client/和di/common/,分別位于d:workspacedizhsrcdi下,其中分別有Client.java和ThinkO.java類,其中Client.java調(diào)用ThinkO.java文件,那么我們的命令行格式是:
jar -cvf MySecond.jar -C . di/client/* di/common/*
jar -cvf MySecond.jar -C di/client/* di/common/*
上面兩種形式經(jīng)我測試,相同結果.如果你想生成可執(zhí)行Jar包,和上面2中同樣的原理修改。
至于如何加載第三方包,我目前還沒學習,打算最近學習后,在詳細說明!
來自:http://www.cnblogs.com/diyunpeng/