詳解eclipse將項目打包成jar文件的兩種方法及問題解決方法
第一種:利用eclipse中自帶的export功能
第一種方法分兩種情況先來看第一種情況:沒有引用外部jar的項目打包
步驟一:右鍵點擊項目選擇導出(export),選擇java>jar文件(不是選擇可運行jar文件)


步驟二:選擇你要導出的項目以及文件,指定文件導出路徑。連續(xù)點擊兩個下一步后到第四步。

步驟三:選擇主類。

按照以上步驟即可完成對一個不引用外部jar項目的打包。
第二種情況:沒有引用外部jar的項目打包
當我們引用了外部jar后,使用eclipse自帶的export打包略顯繁瑣。
步驟一:準備主清單文件 “ MAINFEST.MF ”,放在項目的文件夾下面。
MAINFEST.MF是jar的配置文件,第一行定義版本,第二行指出外部jar的路徑,第三行是主類指示,第四行是空行。
Manifest-Version: 1.0 Class-Path: lib/RXTXcomm.jar Main-Class: com.main.Client
值得注意的是,MAINFEST.MF編寫需要嚴格規(guī)范,稍有不慎將會導致jar執(zhí)行無效
1 第一行不能空,行與行之間不能有空行,每一行的最后一個字符不能是空格
2 最后一行一定是空行
3 每個屬性的名稱和值之間(冒號后面)一定要有空格
4 文件的每一行都不能超過72個字節(jié)(一般是70個ASCII字母加上回車換行符);如果72個字節(jié)不夠用,則另起一行并以空格開頭:以空格開頭的行都被視為前一行的續(xù)行。
詳細規(guī)則這篇文章有講到MANIFEST.MF文件編寫的注意事項
步驟二:與沒有外部jar的項目一樣,像上面那樣先執(zhí)行到步驟三,不同的是要選著現(xiàn)有的清單,然后點擊完成。

以上就是第一種方法的兩種情況,至此,我們已經(jīng)可以生成jar包了。(如何運行jar文件?點擊 這里)
第一種:利用eclipse插件Fat jar打包jar
步驟一:先給eclipse安裝好Fat jar插件
Fat jar 更新站點: http://kurucz-grafika.de/fatjar

待文件加載出來后點擊全部選中,一直下一步知道完成,會提示重啟,安裝完成。(Fat jar安裝報錯?點擊 這里)
步驟二:右鍵點擊項目名稱,會看到build fat jar,點擊。

步驟三:配置jar的存放位置以及main類。
紅框內(nèi)為必填,main-class點擊browse選擇主類。(無法點擊browse?點擊 此處 查看解決方法)

步驟四:選擇要打包的文件以及外部jar,點擊完成。

至此,我們完成了用fat jar插件打包含有外部jar的項目工程。
中途可能遇到的問題以及解決方法
問題一:打包好jar 文件后如何運行?
解決方法:
第一種方法:cmd下直接鍵入Java -jar xxx.jar 開始運行。(可能需要切換盤符與文件夾,方法點 這里)

(如圖是放在C盤用戶>chen下面的jar)
第二種方法:新建一個批處理文件,內(nèi)容:Java -jar xxx.jar。放在與jar包同一個文件夾下面即可,然后雙擊運行查看效果。

問題二:安裝Fat jar提示出錯怎么辦?
解決方法:
在eclipse中
Help -> Install New Software... -> Work with
-> 選擇“The Eclipse Project Updates - http://download.eclipse.org/eclipse/updates/4.7”
-> 勾選"Eclipse Tests,tools, Examples, and Extras" 下的 "Eclipse 2.0 Style Plugin Support"

安裝完后再安裝Fat jar即可
問題三:為什么我的main-class無法browse文件?(猜測可能有eclipse與Fat jar的版本兼容問題)
解決方法:
先用eclipse自帶的export查看main-class名字(export方法如 上面),再復制粘貼填下去繼續(xù)步驟。
一般main-class為 包名.主類名,可能不帶Java、main等后綴

注:文中所用到的軟件及版本如下
eclips oxygen with官譯插件
jdk 9
Fat jar插件
總結
以上所述是小編給大家介紹的詳解eclipse將項目打包成jar文件的兩種方法及問題解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
SpringBoot參數(shù)校驗之@Validated的使用詳解
這篇文章主要通過示例為大家詳細介紹一下介紹了SpringBoot參數(shù)校驗中@Validated的使用方法,文中的示例代碼講解詳細,需要的可以參考一下2022-06-06
教你在?Java?中實現(xiàn)?Dijkstra?最短路算法的方法
這篇文章主要教你在?Java?中實現(xiàn)?Dijkstra?最短路算法的方法,在實現(xiàn)最短路算法之前需要先實現(xiàn)帶權有向圖,文章中給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04
Lombok插件有望被Intellij IDEA收編以改善兼容性問題(推薦)
這篇文章主要介紹了Lombok插件有望被Intellij IDEA收編以改善兼容性問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08

