通過(guò)eclpise打jar包
作者:xcbeyond
瘋狂源自夢(mèng)想,技術(shù)成就輝煌!微信公眾號(hào):《程序猿技術(shù)大咖》號(hào)主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗(yàn),樂(lè)于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項(xiàng)目的研發(fā)工作,涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對(duì)于Java、微服務(wù)、數(shù)據(jù)庫(kù)、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗(yàn)。
通過(guò)Eclipse編寫程序后,大家都希望像exe那樣的程序一樣來(lái)執(zhí)行,而不是依賴編譯來(lái)執(zhí)行,因此,都會(huì)想到了把它打成jar包。一般都是用Eclipse來(lái)自動(dòng)打包的吧,但有時(shí)打好的jar包,卻無(wú)法正常運(yùn)行而出現(xiàn)java.lang.NoClassDefFoundError的異常,令人郁悶至極。不要問(wèn)我是怎么知道的,嗚嗚……
其實(shí),生成jar是有那種情況的,一種是不帶第三方j(luò)ar包的,另一種就是帶第三方j(luò)ar包的。而之所以出現(xiàn)莫名的java.lang.NoClassDefFoundError異常,是因?yàn)槟愕墓こ讨惺褂昧说谌絡(luò)ar。
1.工程中不含第三方j(luò)ar
這種情況,是比較簡(jiǎn)單的。直接用Eclipse來(lái)打包即可。在此,不做詳細(xì)說(shuō)明了,倘若真不會(huì),面壁思過(guò)去吧(Java程序員不會(huì)不知道吧),再不行就去百度一下,你就知道啦。
2.工程中含有第三方j(luò)ar
工程中含有第三方j(luò)ar包時(shí),需要給你的Eclipse裝一個(gè)插件,復(fù)雜就會(huì)出現(xiàn)打好的jar拋出java.lang.NoClassDefFou
ndError異常。下載一個(gè)插件http://sourceforge.net/projects/fjep/,安裝上即可。
把net.sf.fjep.fatjar_0.0.31.jar文件拷貝到你的eclipse目錄下的plugins中..重新啟動(dòng)你的eclipse平臺(tái),然后查看Window---preferences,彈出的窗口中有Fat jar preferences這一項(xiàng)則說(shuō)明你已經(jīng)安裝成功了,沒(méi)有這一項(xiàng)則未安裝成功,需要多做如下幾步操作:到你的eclipse目錄下的configuration---org.eclipse.update,并刪除platform.xml文件,然后重新啟動(dòng)eclipse.查看Window---preferences,你會(huì)發(fā)現(xiàn)Fat jar,效果如下圖:
接下來(lái)就可以生成包含第三方j(luò)ar包的可運(yùn)行的jar包了。
選中工程,右擊 -- > Export --- > Other --- > Fat jar Exportor,效果如下圖所示:
然后,next ---> 選中要生成jar包的工程 -- > next ---> 出現(xiàn)如下圖所示的界面:
這樣就OK啦。