最近用Java寫了一個小工具,想將它達成exe執行文件,到時候直接放某個目錄下,一執行就能跑啦。
用到的工具:
附件下載:
1、寫好的項目:可以是java項目,也可以是java web項目
2、能夠打jar的工具:我用的MyEclipse開發,他們有自帶的工具,我就直接用這個了
3、exe4j:可以去網上下載,地址:https://exe4j.apponic.com/download/,有綠色版的和安裝的,32位和64位的。我的是別人給的安裝版的,跟官網的最新版可能有些出入,有需要的可以去附件中下載。
4、jre:java項目的運行離不開jre,也不能要求客戶自己去裝JDK,所以還是給它帶個比較保險。(JDK安裝之后,有jdk和jre兩個目錄,可以直接復制這個jre文件夾,也可以復制jdk文件夾下的jre。我這里用的jdk是1.6的)。
5、一張后綴名為ico的圖標文件,作為exe執行程序的圖標。也可以沒有。
下面開始弄。
一、將項目中的src加壓成jar包:
1、我的目錄結構:
2、在項目名稱上右擊(或者在左側的空白處右擊),選擇"Export",也就是導出文件,在彈出框里面找到“Java---JAR file”,如圖,然后“Next"。
3、去掉除了src以外的其他文件的勾選狀態,只選擇src文件夾,如圖。然后選擇當前jar要保存的位置。最后的三個Options默認的第一個是勾選的,后面的兩個是不勾選的。咱們這兒一并勾上吧,無非就是要是選的文件夾不存在就新建文件夾,要是在已經存在就直接覆蓋。要是不勾選檢測到指定目錄下有指定文件時會彈出框問你是否覆蓋。上面三點弄完之后,點擊“Next”。
4、使用默認設置,點擊“Next”。
5、往后的步驟,一路默認一路Next就成。期間可能會遇到一個問題,如下圖。這是兩個warnings。無關痛癢,可以不用去管它。你要是覺得不舒服不想要有的話,查網上的資料,說將第四部的兩個勾都給去掉就不會有這個警告了。(我試了試,的確沒有警告了,但是在后面生成exe執行程序之后,卻報錯說被警告的兩個文件找不到了。細看那兩個勾選的內容,一個是說錯誤一個是說警告,跟我的這個找不到文件半毛錢關系都沒有,所以可能是碰巧碰到錯了。)
6、至此,選定的目錄下應該就有導出的jar包了。
二、組織目錄結構:
將java項目里面的其他文件夾(我這里是lib和log兩個文件夾)復制到剛剛導出的jar所在目錄,并將導出的jar包放到lib目錄里面。再新建一個image或別的名稱的文件夾用來存在exe生成后的圖標(也可以直接放在根目錄下面,我是放在image標簽下),最后將jre文件夾拷貝至此。我的目錄如下:
三、使用exe4j工具生成exe執行程序:
1、安裝完成exe4j工具之后,雙擊會打開welcome界面,這個界面是用來輸注冊碼用的,你要是不輸,可以直接next。但若是不輸入,雙擊生成的exe時,會alert出一段話,如圖。必須點“確定”才可以執行程序。
為了不讓這個問題成為“客戶反饋的問題”,咱們還是輸入注冊碼吧。點擊"Enter license"按鈕,輸入Name、Company、和License Key。前面兩個可以隨便輸,key可以試試下面的。
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
2、Lisence輸入完成了點擊“OK”回到welcom界面,點擊“Next”,在“Choose project type”里面選在“JAR in EXE mode",也就是用jar包來生成exe。Next。
3、目錄配置,也就是將哪個文件夾下面的東西打成exe。常規里面填個應用的簡寫名稱,Direcotries里面選擇需要生成exe的目錄,也就是上面組織的目錄結構。如圖。最后Next。
4、exe執行程序配置。
Executable name:就是exe執行文件的名稱
Icon File:exe執行文件的圖標。這里選擇image下面的ico文件。這里只能用ico文件作為圖標。也可以取消前面的復選框不給當前exe設置圖標,若是不設置系統會根據系統主題自動設置一個圖標。
Allow only a single ......:在一臺電腦上只允許運行一個exe程序,若是允許多個,可以不勾選
最后點擊”Next“。
5、 invocation配置。也就是添加jar文件和指定主方法。點擊綠色的”+“號,在彈出框里選擇lib中的jar包(如圖2),然后”OK“。這個只能一個一個的添加,要是用的jar包比較多加起來還挺麻煩的。
lib中的jar都添加完了之后,指定main方法,點擊”main class“后面的按鈕,在彈出框里面找到程序的主方法,如圖,添加進去。
這兩步都OK之后,最后的結果是:
有時候系統中除了用到jar包之外,還會用到dll文件,而上面的添加jar包的步驟中不能添加dll文件,將dll文件放在與exe同級目錄下也一樣會因為dll的問題導致系統出錯,甚至于放到system32文件夾下也沒用。我在弄這個系統的時候,就有dll文件,折騰了大半天,也找了好久的資料(找的過程中發現好多人在這一步也很苦惱),后來發現,其實exe4j早就考慮到這個問題了,就是上圖中的Advanced Options,即:
可以通過這個添加任何非dll的文件所在的文件夾,操作很簡單,點擊之后彈出如下圖的對話框,點擊綠色“+”號, 選擇dll文件所在目錄,我這里是放在lib目錄下的,所以選擇lib,添加完之后,結果如下:
6、 配置jre。配置jre的最小版本,即低于這個版本的Jre無法運行該程序。最大版本也是一樣的。我用的jdk是1.6的,所以配置最小為1.6。最大的可以不設置。
接著點擊“Advanced Options”-“Search sequence”,設置一下我們的JRE,因為客戶的機器上未必有jre所以咱們自己帶一個比較好。在彈出的框里面點擊綠色的”+“號,在Define search sequence entry中選擇Direcotry,并給定jre所在目錄。然后”OK“。
jre添加完成之后效果如下:
7、完后的三步都是用默認操作,一路Next即可。直到如下界面:
到這個界面說明已經生成完成了。 還需要說的有三點:
1、Click here to Start the Application:這個按鈕時用來測試執行程序的,點擊該按鈕即可啟動exe執行程序。
2、Save As:這個很重要。這個保存了以上運行步驟的過程,保存后會生成一個exe4j,以后如果需要將該程序重新打exe,直接運行這個exe4j文件即可,以后的各種配置都被存入這個文件了,基本上一路next就成,特別好用。
3、Restart:這個restart有點誤導人。Restart是重啟的意思,在這的話更容易理解成重新生成。我開始弄的時候弄錯了,想重新生成一下,于是點了這個,結果直接給我跳到第一步重新來了。所幸各種設置都還在,要是給我清空我不得重來一回。
8、最后的結果應該這個樣子的:
說明:上面的截圖中有設置exe的圖標,為了測試我不設置圖標會出現什么效果,我這里沒有添加圖標。其他的跟截圖都是一樣的。
本文為張軍原創文章,轉載無需和我聯系,但請注明來自張軍的軍軍小站,個人博客http://www.dlhighland.cn
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
