1. 程式人生 > >使用EXE4J將Java程式打包成可執行程式(.exe檔案)教程

使用EXE4J將Java程式打包成可執行程式(.exe檔案)教程

作者:翁鬆秀


使用EXE4J將Java程式打包成可執行程式(.exe檔案)教程

[TOC]
由於公司需要做一個對資料庫伺服器的監控程式,用的swing來實現的一個java桌面應用程式,所以需要將做好的監控程式打包成.exe檔案,以便監控人員配置監控資訊。所以研究了一下如何將Java程式打包成可執行程式,網上的教程七七八八,所以在匯出的時候磕磕絆絆,在此寫個比較完整的教程,供大家參考,以便後來人少走一點彎路。

環境和工具:

JDK : 1.8
Eclipse(將Java程式打包成可執行JAR檔案)
EXE4J(將JAR檔案打包成.exe檔案)
————————————————————————————————————

Step1:用Eclipse將Java程式打包成可執行JAR檔案

右鍵要打包的工程,選擇“Export..”將Java工程匯出
這裡寫圖片描述
這裡寫圖片描述
之後進行匯出資訊的配置
這裡寫圖片描述
配置匯出的具體資訊,包括要匯出的工程main函式所在的類、匯出的路徑、以及選擇什麼方式匯出依賴庫。
Launch configuration:程式入口,選擇程式的main函式所在的類
Export destination:匯出路徑,匯出的JAR包存放的路徑
Library handing:依賴庫的處理方式,這裡選擇“Copy required libraries into a sub-folder next to the generated JAR”,也就是複製Java程式所引用的外部JAR包到一個資料夾(一般是xxx_lib)裡面,這個資料夾的生成目錄Export destination選的路徑一樣。
然後點選Finish開始匯出即可。
關於eclipse匯出JAR包更具體的操作步驟,可以看我之前寫的一篇博文:

如何使用Eclipse將Java工程打包成Jar包

Step2:建立匯出目錄,匯入相關依賴檔案

一般情況只需要做前面兩步,後兩步根據個人需要。
- 在任意目錄下建立一個資料夾。
- 將匯出的.jar檔案和lib資料夾複製到該資料夾底下。
- 如果Java程式有配置檔案,比如說從XML中讀取資訊的則將存放XML配置檔案的資料夾config也放到該資料夾裡面。
- 如果需要實現.exe在沒有裝JDK的機器上也能跑,則需要將自己開發的JRE環境複製到該資料夾裡面。
這裡寫圖片描述
Monitor.exe是我最後生產的可執行檔案,log是我程式輸出的日誌資訊檔案。
————————————————————————————————————

Step3:用Exe4j將JAR檔案打包成.exe可執行檔案

Exe4j = exe for java,是Java匯出exe的一款軟體。網上資源也挺多的,可以自行下載。在安裝和最後執行.exe的時候可能會遇到的問題:

找不到JRE,我裝的這個exe4j要求必須是1.7-1.8,而我的JDK是1.10,所以得重新裝一個1.7或者1.8的JDK版本,如果裝的時候報錯可以看錯誤資訊裡面要求的jdk版本。然後相應下載一個即可。
這裡寫圖片描述

版本不對應。The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.從錯誤資訊也能看出來JAVA_HOME沒有指向32位的JDK或者JRE,沒錯,我們一般裝的都是64位,exe4j預設選擇的是32位,所以我們需要手動改一下JRE的配置,後面會講到。
這裡寫圖片描述
這裡寫圖片描述
配置過程主要配置前6步:
1. Project typ:配置工程型別
2. Application info:配置應用軟體資訊
3. Executable info:配置可執行資訊
4. Java invocation:配置Java呼叫資訊
5. JRE:配置JRE資訊
6. Splash screen:配置啟動介面
7. Messages:配置資訊
8. Compile executable:編譯過程
————————————————————————————————————
Project typ:配置工程型別
選”JAR in EXE” mode
這裡寫圖片描述
Application info:配置應用軟體資訊
輸入最終生成的可執行程式的檔名以及選擇生成路徑
這裡寫圖片描述
Executable info:配置可執行資訊
Executable type:選擇程式型別,我的是GUI所以選擇GUI應用程式。
Executable name:可執行程式的檔名
Icon File:如果希望給.exe加一個圖示,則Icon File選擇該圖示的路徑
之後點選“32-bit or 64-bit” 這步很關鍵,不然配到最後生成的可執行檔案執行的時候會報JRE版本不匹配的錯誤。
這裡寫圖片描述
勾選”Generate 64-bit executable“,exe4j預設生成的是32位的可執行程式,所以需要手動勾選生成64位的。其他的直接”next”就可以了。
這裡寫圖片描述
Java invocation:配置Java呼叫資訊
在VM Parameters:後面的部分寫了兩次都沒給我儲存,心態崩了,改天再寫。