ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          Java桌面程序打包成exe可執(zhí)行文件

          Posted on 2011-06-05 16:27 IceWee 閱讀(401) 評論(0)  編輯  收藏 所屬分類: Java

          前言:

          我們都知道Java可以將二進(jìn)制程序打包成可執(zhí)行jar文件,雙擊這個(gè)jar和雙擊exe效果是一樣一樣的,但感覺還是不同。其實(shí)將java程序打包成exe也需要這個(gè)可執(zhí)行jar文件。

          準(zhǔn)備:

          eclipse、exe4j(網(wǎng)上有軟件和帳號下載)

          第一步,將java項(xiàng)目打包成可執(zhí)行jar文件,首先看一下我的java project結(jié)構(gòu),Main.java是程序入口類,里面有main函數(shù),config目錄是些配置文件,lib是用到的第三方類庫

          開始打包,Simulate(Java項(xiàng)目)-鼠標(biāo)右鍵-Export

          彈出窗口,選擇“JAR file”,點(diǎn)擊“Next”

          取消勾選“config”和“lib”目錄,以及eclipse生成的項(xiàng)目配置文件“.classpath”和“.project”,點(diǎn)擊“Next”

          一切默認(rèn),點(diǎn)擊“Next”

          在彈出窗口中,選擇我們自己創(chuàng)建的MANIFEST.MF文件,點(diǎn)擊“Finish”

          我的MANIFEST.MF文件內(nèi)容為:

          Manifest-Version: 1.0
          Main-Class: bing.Main
          Class-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jar lib/JTattoo.jar lib/liquidlnf.jar
          Created-By: IceWee

          通過指定“Main-Class”來達(dá)到可執(zhí)行jar文件的目的。其實(shí)我們最終是將項(xiàng)目打包成exe,Class-Path可以不指定,在打包exe的時(shí)候還要指定classpath的。

          第二步,將項(xiàng)目打包成exe,這里要明確一點(diǎn),并不是把所有的文件都打包成一個(gè)exe,資源文件是不能包進(jìn)去的,往下看↓

          首先,在任意目錄創(chuàng)建一個(gè)文件夾,最好命名和項(xiàng)目名相同,我在F盤創(chuàng)建了一個(gè)“Simulate”文件夾,之后將所有的資源文件以及我們生成的可執(zhí)行jar文件(我的Simulate.jar)都拷貝到這個(gè)文件夾里,config目錄和lib目錄,如果你怕執(zhí)行該程序的機(jī)器上沒安裝jre,那么你需要將自己機(jī)器上的jre目錄也拷貝進(jìn)來,我安裝的jre5,最后的目錄結(jié)構(gòu):

          打開exe4j,跳過歡迎,直接點(diǎn)擊左側(cè)導(dǎo)航的第二項(xiàng),因?yàn)槲覀円呀?jīng)提前將java項(xiàng)目打包成可執(zhí)行jar文件了

          在彈出窗口,選擇“JAR in EXE mode”,點(diǎn)擊“Next”

          在新窗口中,為我們的應(yīng)用取個(gè)名稱,之后選擇exe生成目錄(我的F:\Simulate),點(diǎn)擊“Next”

          為我們要生成的exe取名,如果想生成自定義圖標(biāo),那么選擇你的ico文件,如果你不想在一臺電腦上運(yùn)行多個(gè)你的程序,你可以勾選“Allow only a single...”,點(diǎn)擊“Next”

          點(diǎn)擊綠色“+”,設(shè)置程序運(yùn)行的Class Path

          先選擇我們自己的可執(zhí)行jar文件(我的Simulate.jar),點(diǎn)擊OK

          我們的Simulate.jar就加到Class Path下了

          之后點(diǎn)擊General中的Main Class選擇按鈕,在彈出窗口中,exe4j會自動搜索當(dāng)前Class Path下的全部jar中包含main方法的類,并列出,因?yàn)楫?dāng)前我只選擇了自己項(xiàng)目的jar,而我的項(xiàng)目中只有Main.jar包含了main方法,所以一目了然,直接選擇它點(diǎn)擊“OK”,程序入口類就設(shè)置完成了

          Main Class設(shè)置完成后,依次將所有需要的第三方類庫加到Class Path下,方法同添加“Simulate.jar”一樣,點(diǎn)擊“Next”

          輸入Java最小Jre版本號,即低于這個(gè)版本的Jre無法運(yùn)行該程序,接著點(diǎn)擊“Advanced Options”-“Search sequence”,設(shè)置一下我們的JRE,之前說過,如果客戶機(jī)上沒裝Jre咋辦?,沒關(guān)系我們捆綁一個(gè)進(jìn)去

          點(diǎn)擊綠色“+”來選擇捆綁的JRE位置

          在彈出對話框中選擇“Directiony”,之后選擇JRE的文件夾,注意:這個(gè)JRE目錄是我們將本機(jī)的JRE目錄拷貝到當(dāng)前exe生成目錄下的,我的目錄是F:\Simulate\jre5,下圖程序使用的是相對目錄,點(diǎn)擊OK,完成JRE的捆綁操作

          JRE捆綁完畢,點(diǎn)擊“Next”

          默認(rèn),點(diǎn)擊“Next”

          默認(rèn),點(diǎn)擊“Next”

          默認(rèn),點(diǎn)擊“Next”

          exe生成中

          OK,完成,點(diǎn)擊“Exit”即可

          看看成果如何吧!

          我們的可執(zhí)行jar以及第三方j(luò)ar總共還不到5M,可jre5目錄就50多M,如果目標(biāo)機(jī)器上有JRE環(huán)境就可以把它刪掉了,lib目錄是第三方j(luò)ar文件,現(xiàn)已打包到exe中了,所以它也沒有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目錄了!

          主站蜘蛛池模板: 湘潭县| 阿瓦提县| 太仓市| 白山市| 蛟河市| 萨嘎县| 鹰潭市| 南郑县| 莱西市| 东平县| 天津市| 石景山区| 湖南省| 兴宁市| 武宣县| 田东县| 定西市| 北川| 东丰县| 凉城县| 云龙县| 芒康县| 盈江县| 禹州市| 晋中市| 墨江| 监利县| 芮城县| 靖西县| 双江| 资阳市| 大名县| 英山县| 通渭县| 稷山县| 颍上县| 长乐市| 孝昌县| 佛冈县| 仪陇县| 玛多县|