把Jar文件轉(zhuǎn)成exe安裝文件的實(shí)現(xiàn)方法
1.你要清楚的目標(biāo)文件是32位還是64位的,如果生成的是32位,你就要使用32位的jre,如果生成的是64位,就要使用64位的jre。

圖 1
在圓圈位置進(jìn)行32bit或64bit的選擇。因?yàn)槲乙獎(jiǎng)?chuàng)建的是32bit,所以就使用默認(rèn)的。
2.JRE的配置(沒配置好的話報(bào)各種JAVA_HOME錯(cuò)誤):
我先創(chuàng)建一個(gè)文件夾叫“HJ小助手”,然后把我的可執(zhí)行程序limitvic1.1.jar和jre文件夾放進(jìn)去,以后生成的.exe文件也放在這個(gè)目錄。

圖2
點(diǎn)擊圖一中的第六項(xiàng)JRE的search Sequence,會(huì)出現(xiàn)如圖所示界面:

圖三
把這三項(xiàng)都刪掉,然后重新選擇jre的目錄,指定目錄為“HJ小助手1.1”文件夾中的jre文件夾。如圖:


圖四
這樣子導(dǎo)出來(lái)的.exe可執(zhí)行文件就可以執(zhí)行,不會(huì)報(bào)如下圖所示的錯(cuò)誤了,把"HJ小助手1.1"這個(gè)文件夾發(fā)給電腦沒有安裝jre 的小伙伴也可以使用。

3.轉(zhuǎn)化后的.exe文件無(wú)法顯示圖片資源。
我的項(xiàng)目是Swing項(xiàng)目,其中需要用到一些圖標(biāo)。因?yàn)槭?exe執(zhí)行文件,所以讀取圖片資源的時(shí)候需要用到類加載器,而不能直接使用URL地址。
ImageIcon icon = new ImageIcon(ImageIO.read(getClass().getClassLoader().
getResource("frame.png")));
還有很重要的一點(diǎn)就是圖片放置的文件夾必須是系統(tǒng)資源文件夾,不然圖片獲取不了,如圖所示將文件夾設(shè)置為資源文件夾。

4. 既然已經(jīng)生成了可運(yùn)行的.exe文件,但是給別人使用的時(shí)候就要把jre文件夾也一起放進(jìn)去,這樣子文件夾大小似乎達(dá)到了100多兆了,可你原本的文件其實(shí)很小,所以我用Inno Setup 打包工具,把文件夾打包成一安裝文件,這樣子占用容量就減小了很多。Inno Setup 工具的使用方法也是十分簡(jiǎn)單,而且網(wǎng)絡(luò)上已經(jīng)可以下載到漢化版本的。這里就提一下在打包過(guò)程中的一個(gè)該注意的問(wèn)題:
如圖所示:添加文件夾的時(shí)候,要把jre文件夾的上一級(jí)目錄添加進(jìn)去,在本項(xiàng)目中是"HJ小助手1.1"這個(gè)文件夾,不然運(yùn)行的時(shí)候找不到j(luò)re文件。

根據(jù)腳本向?qū)Р襟E很快就可以生產(chǎn).exe的安裝文件,大小為30多兆,比原來(lái)的文件夾小多了。
以上就是小編為大家?guī)?lái)的把Jar文件轉(zhuǎn)成exe安裝文件的實(shí)現(xiàn)方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
如何解決org.apache.jasper.JasperException:無(wú)法為JSP編譯類詳解
這篇文章主要給大家介紹了關(guān)于如何解決org.apache.jasper.JasperException:無(wú)法為JSP編譯類的相關(guān)資料,原因可能是JSP文件的語(yǔ)法錯(cuò)誤、類路徑問(wèn)題或其他配置問(wèn)題,建議檢查JSP文件的語(yǔ)法、類路徑配置和其他相關(guān)配置,需要的朋友可以參考下2023-06-06
JAVA如何定義構(gòu)造函數(shù)過(guò)程解析
這篇文章主要介紹了JAVA如何定義構(gòu)造函數(shù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
SpringBoot日志進(jìn)階實(shí)戰(zhàn)之Logback配置經(jīng)驗(yàn)和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗(yàn)和方法,并提供了詳細(xì)的代碼示例和解釋,包括:滾動(dòng)文件、異步日志記錄、動(dòng)態(tài)指定屬性、日志級(jí)別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識(shí)點(diǎn),感興趣的朋友跟隨小編一起看看吧2023-06-06
Java使用jxl庫(kù)輕松玩轉(zhuǎn)Excel表操作
jxl?是一個(gè)非常實(shí)用的?Java?庫(kù),專門用于操作?Excel?表格,這篇文章主要為大家介紹了如何使用jxl進(jìn)行Excel的基本操作,有需要的可以了解下2025-02-02
對(duì)dbunit進(jìn)行mybatis DAO層Excel單元測(cè)試(必看篇)
下面小編就為大家?guī)?lái)一篇對(duì)dbunit進(jìn)行mybatis DAO層Excel單元測(cè)試(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05

