多項目相互依賴的Java程序打包并引入外部Jar包方式打賞

近期給項目的某些功能加了個J2SE的小工具,主要是用Swing編寫的,寫好之后需要打包jar,但是出現了丟包的錯誤,確切的說是打包不完全,因為所引用的jar不是在一個項目中,而是幾個項目相互依賴的情況下且各個項目還有相應的第三方包,公司內部還限網,幾經周折,今天總算解決了。

使用的是eclipse,ibm rtc封裝的,貌似是3.X版,最初試過將依賴包全部復制到主函數所在項目再打包,發現還是不能實現,也使用了Fatjar,但似乎并不好用。料想大家平時用Fatjar都是引入第三方包而已,于是嘗試了將主程序所依賴的兩個項目先打包后再導包,然后打包,依然不行。因為eclipse不支持同時導出外部jar包。

下面說下最終實現的打包方式,按照eclipse常規的打包功能:

選中工程--->右鍵,Export--->Java--->選擇JAR file--->next-->選擇jar file的路徑及名稱--->next--->next 選擇Main class--->finish。此時來到了要選擇Main class的窗口,但這里先不選擇Main class,選擇最上方的Generate the manifest file(生成清單文件),勾上Save the manifest in the workspace(將清單保存在工作空間中),在Manifest file(清單文件)中輸入file的名稱,點擊finish。至此會生成manifest文件。

繼續選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next,這時又來到了選擇main class的窗口,但這里也不選擇main class,選擇Use existing manifest from workspace,在Manifest file:里選擇剛剛生成的main,點擊finish。

如果是單個項目的打包至此就基本完成了,剩下的就是編輯manifest.mf寫入外部jar清單了,格式如"lib/xxx.jar lib/yyy.jar lib/zzz.jar",如此將需要的外部包都引入。

同理,如果是多個項目,則在打包時選擇jar file后選中需要打包的所有項目,一起打包,然后同樣編輯manifest.mf,寫入第三方jar包。

需要注意的是,這樣打包之后,第三方的jar包放在和打包生成的jar同級目錄即可,manifest.mf的格式如下:

Manifest-Version: 1.0
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: lib/xxx.jar lib/yyy.jar lib/zzz.jar


且按照網上的說法,manifest.mf文件最后要空出兩行。
exportjar
最終得到如圖一個文件,一個文件夾,直接運行即可,也可以建一個bat文件來處理。這里不再多說。

多項目相互依賴的Java程序打包并引入外部Jar包方式
文章《多項目相互依賴的Java程序打包并引入外部Jar包方式》二維碼
  • 微信打賞
  • 支付寶打賞

已有16條評論

  1. 您好,我想問下,打好的jar包不能運行吧,腳本怎么寫啊?

    2016-03-19 09:33 回復
  2. 康又菁

    好啊~~~~~~

    2015-12-31 08:51 回復
  3. 何捷浪

    好厲害!好~萌菌網www.moejun.tv/

    2015-04-27 10:20 回復
  4. 分條機刀片

    這么深奧的東西樓主也會?

    2012-10-13 22:21 回復
  5. 日照婚紗攝影

    恩,很不錯,前些日子還愁這打包文件呢

    2012-09-29 17:01 回復
    • 樸人博客

      我是愁了兩周,中間沒去管,最后用得著了才趕工的

      2012-09-29 20:34 回復
  6. 韓版連衣裙

    學習java的可以看下

    2012-09-28 16:42 回復
  7. 藍顏

    這個好,搞java的值得收藏

    2012-09-28 10:22 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖