Java?jar打包成exe應(yīng)用程序的詳細(xì)步驟
Java jar打包成exe應(yīng)用程序,可在無(wú)JDK/JRE環(huán)境下運(yùn)行
前言
近期做了一個(gè)前后端合并的spring boot項(xiàng)目,但是要求達(dá)成exe文件,提供給不懂電腦的小白安裝使用,就去研究了半天,踩了很多坑,寫(xiě)這篇文章,是想看到這篇文章的人,按照我的步驟走,能少踩坑。
準(zhǔn)備
準(zhǔn)備工作:
一個(gè)jar包,沒(méi)有bug能正常啟動(dòng)的jar包
exe4j,一個(gè)將jar轉(zhuǎn)換成exe的工具,鏈接:http://www.dbjr.com.cn/softs/541579.html
一個(gè)將依賴(lài)和exe一起打成一個(gè)安裝程序的工具,鏈接:http://www.dbjr.com.cn/softs/20434.html
開(kāi)始
以我為例子,我將jar包放在了桌面
打開(kāi)安裝好的exe4j
直接下一步進(jìn)入界面,選擇JAVA轉(zhuǎn)EXE
然后點(diǎn)下一步,輸入名稱(chēng)和輸出路徑
繼續(xù)點(diǎn)擊下一步,選擇啟動(dòng)模式
下方有個(gè)選項(xiàng),需要設(shè)置打包后的程序兼容32和64位系統(tǒng)
進(jìn)來(lái)后勾選上
然后一直下一步,一直出現(xiàn)如下界面,開(kāi)始選擇jar包以及配置
在VM參數(shù)配置的地方加上:-Dfile.encoding=utf-8
點(diǎn)擊下一步,配置JRE
下拉框點(diǎn)擊后進(jìn)入如下界面
照著這個(gè)樣子寫(xiě)的目的是,最終會(huì)把本地jre目錄和exe一起打包,讓exe文件自己去根據(jù)路徑去查找一起打包的jre,可不用再安裝jdk
接著下一步,選擇Client VM
然后一直下一步,最終出現(xiàn)如下界面
這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)桌面多了一個(gè)demo.exe
文件,這個(gè)時(shí)候先別著急點(diǎn)開(kāi),接下來(lái)就是將jre和exe文件再打個(gè)包合并,達(dá)到在沒(méi)有jdk電腦環(huán)境下也能運(yùn)行
打開(kāi)inno setup,左上角File - New
直接點(diǎn)下一步,填寫(xiě)配置,應(yīng)用名稱(chēng),版本等,隨意
然后點(diǎn)擊下一步,這個(gè)地方默認(rèn)就行,直接下一步
接著選擇生成好的exe文件
然后下一步,進(jìn)入這個(gè)界面保持默認(rèn),直接下一步
依舊下一步,不用管
繼續(xù)下一步,這里是選擇語(yǔ)言
然后就是選擇輸出路徑和填寫(xiě)安裝程序的名字了
然后下一步,直接點(diǎn)Next,然后結(jié)束
配置到最后一步了,腳本文件,到這里會(huì)彈出問(wèn)你是否馬上編譯,選擇否,先把腳本寫(xiě)好再自己編譯
然后到了最后一步了,把本地的JRE寫(xiě)進(jìn)腳本
Source: "自己本地JRE路徑\*"; DestDir: "{app}\{#MyJreName}"; Flags: ignoreversion recursesubdirs createallsubdirs
然后直接編譯就好了,會(huì)提示保存當(dāng)前腳本,隨便起個(gè)名字,下個(gè)還可以繼續(xù)用
然后等待綠色滾動(dòng)條結(jié)束
當(dāng)綠色滾動(dòng)條結(jié)束后,桌面會(huì)多了一個(gè)setup.exe
文件
也同時(shí)會(huì)跳出一個(gè)安裝的,因?yàn)槌绦驇湍阕詣?dòng)啟動(dòng)生成的安裝程序了,安裝就可以了,安裝的時(shí)候記得勾選創(chuàng)建快捷方式
這個(gè)就是最后的程序了,雙擊運(yùn)行就可以看到結(jié)果了,把setup.exe
文件給別人安裝,就都可以看到自己的程序了
到此這篇關(guān)于Java jar打包成exe應(yīng)用程序的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Java jar打包成exe內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaSE系列基礎(chǔ)包裝類(lèi)及日歷類(lèi)詳解
這篇文章主要介紹的是JavaSE中常用的基礎(chǔ)包裝類(lèi)以及日歷類(lèi)的使用詳解,文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們學(xué)習(xí)JavaSE有一定的幫助,感興趣的小伙伴快來(lái)跟隨小編一起學(xué)習(xí)吧2021-12-12java設(shè)計(jì)模式之橋接模式(Bridge)
這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之橋接模式Bridge,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01手把手教你用Java實(shí)現(xiàn)一套簡(jiǎn)單的鑒權(quán)服務(wù)
現(xiàn)今大部分系統(tǒng)都會(huì)有自己的鑒權(quán)服務(wù),本文介紹了最常用的鑒權(quán)服務(wù),就是日常用戶(hù)的登錄登出,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05實(shí)現(xiàn)java文章點(diǎn)擊量記錄實(shí)例
這篇文章主要為大家介紹了實(shí)現(xiàn)java文章點(diǎn)擊量記錄實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Java如何把數(shù)組轉(zhuǎn)換為ArrayList
這篇文章主要介紹了Java如何把數(shù)組轉(zhuǎn)換為ArrayList,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01AbstractProcessor擴(kuò)展MapStruct自動(dòng)生成實(shí)體映射工具類(lèi)
這篇文章主要為大家介紹了AbstractProcessor擴(kuò)展MapStruct自動(dòng)生成實(shí)體映射工具類(lèi)實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01