使用exe4j將java項目打成exe執行程序

使用exe4j將java項目打成exe執行程序

最近用Java寫了一個小工具,想將它達成exe執行文件,到時候直接放某個目錄下,一執行就能跑啦。html

用到的工具:java

一、寫好的項目:能夠是java項目,也能夠是java web項目web

二、可以打jar的工具:我用的MyEclipse開發,他們有自帶的工具,我就直接用這個了工具

三、exe4j:能夠去網上下載,地址:http://www.ej-technologies.com/download/exe4j/files.html,有綠色版的和安裝的,32位和64位的。個人是別人給的安裝版的,跟官網的最新版可能有些出入,有須要的能夠去附件中下載。測試

四、jre:java項目的運行離不開jre,也不能要求客戶本身去裝JDK,因此仍是給它帶個比較保險。(JDK安裝以後,有jdk和jre兩個目錄,能夠直接複製這個jre文件夾,也能夠複製jdk文件夾下的jre。我這裏用的jdk是1.6的)。3d

五、一張後綴名爲ico的圖標文件,做爲exe執行程序的圖標。也能夠沒有。rest

下面開始弄。htm

1、將項目中的src加壓成jar包:

一、個人目錄結構:
imgblog

二、在項目名稱上右擊(或者在左側的空白處右擊),選擇"Export",也就是導出文件,在彈出框裏面找到「Java---JAR file」,如圖,而後「Next"。
img
三、去掉除了src之外的其餘文件的勾選狀態,只選擇src文件夾,如圖。而後選擇當前jar要保存的位置。最後的三個Options默認的第一個是勾選的,後面的兩個是不勾選的。我們這兒一併勾上吧,無非就是要是選的文件夾不存在就新建文件夾,要是在已經存在就直接覆蓋。要是不勾選檢測到指定目錄下有指定文件時會彈出框問你是否覆蓋。上面三點弄完以後,點擊「Next」。
img
四、使用默認設置,點擊「Next」。
img
五、日後的步驟,一路默認一路Next就成。期間可能會遇到一個問題,以下圖。這是兩個warnings。無關痛癢,能夠不用去管它。你要是以爲不舒服不想要有的話,查網上的資料,說將第四部的兩個勾都給去掉就不會有這個警告了。(我試了試,的確沒有警告了,可是在後面生成exe執行程序以後,卻報錯說被警告的兩個文件找不到了。細看那兩個勾選的內容,一個是說錯誤一個是說警告,跟個人這個找不到文件半毛錢關係都沒有,因此多是碰巧碰到錯了。)
img
六、至此,選定的目錄下應該就有導出的jar包了。圖片

2、組織目錄結構:

將java項目裏面的其餘文件夾(我這裏是lib和log兩個文件夾)複製到剛剛導出的jar所在目錄,並將導出的jar包放到lib目錄裏面。再新建一個image或別的名稱的文件夾用來存在exe生成後的圖標(也能夠直接放在根目錄下面,我是放在image標籤下),最後將jre文件夾拷貝至此。個人目錄以下:

img img

3、使用exe4j工具生成exe執行程序:

一、安裝完成exe4j工具以後,雙擊會打開welcome界面,這個界面是用來輸註冊碼用的,你要是不輸,能夠直接next。但如果不輸入,雙擊生成的exe時,會alert出一段話,如圖。必須點「肯定」才能夠執行程序。
img
爲了避免讓這個問題成爲「客戶反饋的問題」,我們仍是輸入註冊碼吧。點擊"Enter license"按鈕,輸入Name、Company、和License Key。前面兩個能夠隨便輸,key能夠試試下面的。
img
License Key:

A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0

二、Lisence輸入完成了點擊「OK」回到welcom界面,點擊「Next」,在「Choose project type」裏面選在「JAR in EXE mode",也就是用jar包來生成exe。Next。
點擊查看原始大小圖片
三、目錄配置,也就是將哪一個文件夾下面的東西打成exe。常規裏面填個應用的簡寫名稱,Direcotries裏面選擇須要生成exe的目錄,也就是上面組織的目錄結構。如圖。最後Next。
點擊查看原始大小圖片
四、exe執行程序配置。

Executable name:就是exe執行文件的名稱

Icon File:exe執行文件的圖標。這裏選擇image下面的ico文件。這裏只能用ico文件做爲圖標。也能夠取消前面的複選框不給當前exe設置圖標,如果不設置系統會根據系統主題自動設置一個圖標

Allow only a single ......:在一臺電腦上只容許運行一個exe程序,如果容許多個,能夠不勾選

最後點擊」Next「。
點擊查看原始大小圖片
五、 invocation配置。也就是添加jar文件和指定主方法。點擊綠色的」+「號,在彈出框裏選擇lib中的jar包(如圖2),而後」OK「。這個只能一個一個的添加,要是用的jar包比較多加起來還挺麻煩的。
點擊查看原始大小圖片
img
lib中的jar都添加完了以後,指定main方法,點擊」main class「後面的按鈕,在彈出框裏面找到程序的主方法,如圖,添加進去。

img
這兩步都OK以後,最後的結果是:
點擊查看原始大小圖片

有時候系統中除了用到jar包以外,還會用到dll文件,而上面的添加jar包的步驟中不能添加dll文件,將dll文件放在與exe同級目錄下也同樣會由於dll的問題致使系統出錯,甚至於放到system32文件夾下也沒用。我在弄這個系統的時候,就有dll文件,折騰了大半天,也找了很久的資料(找的過程當中發現好多人在這一步也很苦惱),後來發現,其實exe4j早就考慮到這個問題了,就是上圖中的Advanced Options,即:
點擊查看原始大小圖片
能夠經過這個添加任何非dll的文件所在的文件夾,操做很簡單,點擊以後彈出以下圖的對話框,點擊綠色「+」號, 選擇dll文件所在目錄,我這裏是放在lib目錄下的,因此選擇lib,添加完以後,結果以下:
點擊查看原始大小圖片
六、 配置jre。配置jre的最小版本,即低於這個版本的Jre沒法運行該程序。最大版本也是同樣的。我用的jdk是1.6的,因此配置最小爲1.6。最大的能夠不設置。
點擊查看原始大小圖片
接着點擊「Advanced Options」-「Search sequence」,設置一下咱們的JRE,由於客戶的機器上未必有jre因此我們本身帶一個比較好。在彈出的框裏面點擊綠色的」+「號,在Define search sequence entry中選擇Direcotry,並給定jre所在目錄。而後」OK「。
img
jre添加完成以後效果以下:
點擊查看原始大小圖片
七、完後的三步都是用默認操做,一路Next便可。直到以下界面:
點擊查看原始大小圖片
到這個界面說明已經生成完成了。 還須要說的有三點:

一、Click here to Start the Application:這個按鈕時用來測試執行程序的,點擊該按鈕便可啓動exe執行程序。

二、Save As:這個很重要。這個保存了以上運行步驟的過程,保存後會生成一個exe4j,之後若是須要將該程序從新打exe,直接運行這個exe4j文件便可,之後的各類配置都被存入這個文件了,基本上一路next就成,特別好用。

三、Restart:這個restart有點誤導人。Restart是重啓的意思,在這的話更容易理解成從新生成。我開始弄的時候弄錯了,想從新生成一下,因而點了這個,結果直接給我跳到第一步從新來了。所幸各類設置都還在,要是給我清空我不得重來一回。

八、最後的結果應該這個樣子的:
img
說明:上面的截圖中有設置exe的圖標,爲了測試我不設置圖標會出現什麼效果,我這裏沒有添加圖標。其餘的跟截圖都是同樣的。

4、組織給客戶的東西:

新建一個文件夾,將JRE文件夾和生成的exe執行程序拷貝到文件夾下。如果系統裏面用到了dll文件,這在一步還須要添加dll的文件信息,上文中有提到添加dll文件:是選擇的dll所在的文件夾,這裏也同樣,將dll所在的文件夾複製過來與exe同級,再刪掉裏面的jar包。爲何這麼處理呢?由於exe4j對於這些非jar文件不會像jar包同樣包裝進exe,它只記錄它們的具體位置(也就是讓咱們選的dll目錄),因此才須要咱們手動添加dll文件及目錄且目錄名稱必定要與選擇的目錄相同。最後,雙擊exe,測試程序效果是否有誤。

至此整個過程完成。

來源:http://1017401036.iteye.com/blog/2248488

相關文章
相關標籤/搜索