Java程序打包成exe文件的完整圖文教程
準(zhǔn)備測試程序
新建項目

引入 Spring Web依賴

在 pom 文件中把Java版本改一下


在 pom 文件中將 <skip>true</skip> 改為 <skip>false</skip>
<skip>true</skip> 設(shè)置阻止了可執(zhí)行 JAR 的創(chuàng)建,需要修改這個配置

這兩個文件夾好像是阿里云自帶的,如果沒有static文件夾就自己創(chuàng)建,然后寫一個index.html

測試
運(yùn)行項目

瀏覽器輸入
http://localhost:8080
能看到這個界面說明項目成功運(yùn)行

打包成JAR文件
有兩種方式
第一種:使用命令行
在項目根目錄打開終端
mvn clean package
這個命令會:清理之前的構(gòu)建結(jié)果,編譯源代碼,運(yùn)行測試,打包生成JAR文件
構(gòu)建完成后,JAR文件會在 target 目錄下


第二種:使用 IDEA 的Maven插件
雙擊"clean"執(zhí)行清理
雙擊"package"執(zhí)行打包

測試 jar 包
java -jar 你的JAR包.jar
例如我輸入的是:java -jar target/ExeDemo-0.0.1-SNAPSHOT.jar
正常啟動,記得按 Ctrl+C 停止運(yùn)行

可以使用 exe4j
官網(wǎng)
https://www.ej-technologies.com/exe4j/download
1
現(xiàn)在看到的是 exe4j 的歡迎界面,點(diǎn)下一步

2
選擇 “JAR in EXE mode”,這是最常用的模式

3
填寫應(yīng)用短名稱(Short name of your application):給你的應(yīng)用起一個名字
設(shè)置輸出目錄(Output directory):指定最終生成的.exe文件會保存到哪個文件夾。

4
(1)可執(zhí)行文件類型(Executable type)
如果你的項目是帶界面的程序:保持默認(rèn)的 「GUI application」 選中即可,這樣運(yùn)行時不會彈出控制臺黑框,體驗更符合桌面應(yīng)用。
如果你的項目是命令行程序:選擇 「Console application」,運(yùn)行時會顯示控制臺窗口,方便查看日志和交互。
「Service」選項:僅用于后臺服務(wù)類程序,普通桌面應(yīng)用無需選擇。
(2)可執(zhí)行文件名(Executable name)
在輸入框中填寫生成的 .exe 文件名,不需要帶 .exe 后綴,exe4j 會自動添加。
(3) 設(shè)置圖標(biāo)(Icon File)
可以給 exe 文件添加自定義圖標(biāo),也可以不選圖標(biāo),不影響功能。
我已經(jīng)驗證過了,圖標(biāo)路徑可以帶中文
(4)保持默認(rèn)勾選的選項
「Fail if an exception in the main thread is thrown」:默認(rèn)勾選,主線程拋異常時程序會提示錯誤,建議保持。
「Change working directory to」:默認(rèn)值「.」表示 exe 的工作目錄是自身所在目錄,無需修改。
我準(zhǔn)備了一個圖標(biāo)


5
(1)添加可執(zhí)行 JAR 到「Class path」
點(diǎn)擊界面右側(cè)的 綠色 “+” 按鈕,然后點(diǎn)擊「Archive」右側(cè)的 “...” 按鈕,選擇之前打包好的可執(zhí)行 JAR 文件。
這一步的作用是讓 exe4j 知道你的 Java 程序代碼和依賴在哪里。
(2)指定「Main class(主類)」
點(diǎn)擊 Main class from右側(cè)的 “...” 按鈕,exe4j 會自動掃描你添加的 JAR 包,一定要選擇JarLauncher 這個
(3) 其他選項,保持默認(rèn)即可
VM Parameters:一般無需填寫,除非需要設(shè)置 Java 虛擬機(jī)參數(shù)。
Bundle launcher runtime:默認(rèn)勾選,保持即可,確保啟動器運(yùn)行時被正確打包。
Arguments for main class:如果你的 main 方法需要接收命令行參數(shù),在這里填寫;否則留空。


6
這一步是配置Java 運(yùn)行時環(huán)境(JRE)的版本要求
(1)填寫「Minimum version(最低版本)」
填項目中使用的 JDK 版本即可。
(2)「Maximum version(最高版本)」(可選)
一般留空即可。
(3)其他選項(保持默認(rèn))
「Allow JREs with a beta version number」:不勾選,避免測試版 JRE 帶來的不穩(wěn)定。
「Only allow JDKs and no JREs」:不勾選,普通用戶電腦一般只裝 JRE,勾選會導(dǎo)致程序無法運(yùn)行

7
這一步是配置啟動畫面(Splash screen),屬于可選功能
不需要啟動畫面,點(diǎn)擊 “下一步” 繼續(xù)即可
8
這一步是配置可執(zhí)行文件的錯誤提示信息,默認(rèn)的英文提示已經(jīng)足夠清晰,無需修改。直接點(diǎn)擊 “下一步” 按鈕即可
9
無需多言
10
現(xiàn)在已經(jīng)成功將 Java 項目打包成 EXE 文件了,可以在文件夾中看到,接下來可以用以下操作:
測試運(yùn)行:點(diǎn)擊 “Click Here to Start the Application”,直接啟動生成的 EXE 文件,驗證程序是否能正常運(yùn)行。
保存配置:點(diǎn)擊 “Save As”,將當(dāng)前的 exe4j 配置保存為文件(例如你的項目名.exe4j),方便后續(xù)修改或重新打包時復(fù)用配置。


運(yùn)行之后,可以在任務(wù)管理器中看到

打開瀏覽器試試,exe 文件正常運(yùn)行

彈窗問題
每次打開exe文件,都會彈出這么個窗口

這是因為還沒有注冊,去第一步注冊一下就好了
注冊碼如下:
windows 32位版本的下載:
Windows Vista
Windows 2000/XP
Windows Server 2008
Windows Server 2003
Windows NT 4.0
Windows 98/ME
http://download.ej-technologies.com/exe4j/exe4j_windows_4_1_1.exe通用注冊碼:L-g782dn2d-1f1yqxx1rv1sqd
exe4j是一個幫助你集成Java應(yīng)用程序到Windows操作環(huán)境的java可執(zhí)行文件生成工具,無論這些應(yīng)用是用于服務(wù)器,還是圖形用戶界面(GUI)或命令行的應(yīng)用程序。
L-g782dn2d-1f1yqxx1rv1sqd


也可以使用 Launch4j
這個軟件我不會操作,就不演示了
這個軟件有中文界面的版本,自己搜索下載
官網(wǎng)
https://launch4j.sourceforge.net/

總結(jié)
到此這篇關(guān)于Java程序打包成exe文件的文章就介紹到這了,更多相關(guān)Java程序打包exe文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot導(dǎo)出Excel的四種方式小結(jié)
近期接到了一個小需求,要將系統(tǒng)中的數(shù)據(jù)導(dǎo)出為Excel,且能將Excel數(shù)據(jù)導(dǎo)入到系統(tǒng),對于大多數(shù)研發(fā)人員來說,這算是一個最基本的操作了,本文就給大家總結(jié)一下SpringBoot導(dǎo)出Excel的四種實(shí)現(xiàn)方式,需要的朋友可以參考下2024-12-12
SpringBoot 項目使用hutool 工具進(jìn)行 http 接口調(diào)用的處理方
在實(shí)際的開發(fā)過程中一個互聯(lián)網(wǎng)的項目來說 ,有可能會涉及到調(diào)用外部接口的實(shí)際業(yè)務(wù)場景,下面通過本文給大家介紹SpringBoot 項目 使用hutool 工具進(jìn)行 http 接口調(diào)用的處理方法,需要的朋友可以參考下2022-06-06
ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實(shí)例解析
這篇文章主要介紹了ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型,結(jié)合實(shí)例形式分析了ES6數(shù)據(jù)解構(gòu)賦值、新增數(shù)據(jù)類型Set集合、新增數(shù)據(jù)類型Map、Symbol類型等相關(guān)原理與操作注意事項,需要的朋友可以參考下2020-01-01
解決ES報錯Unable to parse response body 
在Java中調(diào)用接口向ES中添加數(shù)據(jù)時,報錯:UnabletoparseresponsebodyforResponse,原因是Spring與ES版本沖突引起的報錯解決方案更改ES版本或是Spring的版本,在ES高版本中,索引建立更名為數(shù)據(jù)視圖,無論索引是否存在有數(shù)據(jù)都可以建立索引模式2026-03-03
Intellij Idea插件開發(fā)之創(chuàng)建項目層級的右鍵菜單
這篇文章主要介紹了Intellij Idea插件開發(fā)之創(chuàng)建項目層級的右鍵菜單,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02

