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) 評(píng)論(0)  編輯  收藏 所屬分類: Java

          前言:

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

          準(zhǔn)備:

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

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

          開(kāi)始打包,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

          通過(guò)指定“Main-Class”來(lái)達(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ī)器上沒(méi)安裝jre,那么你需要將自己機(jī)器上的jre目錄也拷貝進(jìn)來(lái),我安裝的jre5,最后的目錄結(jié)構(gòu):

          打開(kāi)exe4j,跳過(guò)歡迎,直接點(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文件,如果你不想在一臺(tái)電腦上運(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會(huì)自動(dòng)搜索當(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è)置完成后,依次將所有需要的第三方類庫(kù)加到Class Path下,方法同添加“Simulate.jar”一樣,點(diǎn)擊“Next”

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

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

          在彈出對(duì)話框中選擇“Directiony”,之后選擇JRE的文件夾,注意:這個(gè)JRE目錄是我們將本機(jī)的JRE目錄拷貝到當(dāng)前exe生成目錄下的,我的目錄是F:\Simulate\jre5,下圖程序使用的是相對(duì)目錄,點(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中了,所以它也沒(méi)有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目錄了!

          主站蜘蛛池模板: 正安县| 凌海市| 东平县| 宣化县| 密山市| 阳山县| 乌拉特前旗| 东海县| 宁南县| 安图县| 伊川县| 长宁县| 周宁县| 松阳县| 北流市| 比如县| 资阳市| 万州区| 西昌市| 舞钢市| 遂川县| 临西县| 大港区| 建昌县| 清河县| 乌恰县| 驻马店市| 乃东县| 建始县| 柳州市| 榆社县| 青海省| 荥经县| 宿迁市| 台南市| 大竹县| 申扎县| 区。| 镇江市| 长沙县| 湄潭县|