Java生成exe可執(zhí)行文件
一、軟件準(zhǔn)備
1. 下載將jar包轉(zhuǎn)化為EXE的工具EXE4J,下載地址為:
ej-technologies - Java APM, Java Profiler, Java Installer Builder
2. 下載完成之后,按照如下步驟安裝EXE4J。





二、生產(chǎn)jar文件
在將寫好的Java程序轉(zhuǎn)換為EXE程序前,需要先將Java程序?qū)С鰹閖ar包,然后才能通過EXE4J生成想要的EXE程序。在這里,筆者使用的工具為eclipse,具體步驟如下:
1.打開一個(gè)含有main方法且已調(diào)試可運(yùn)行的Java工程,右鍵點(diǎn)擊后選擇export,再選擇Java選項(xiàng)下的JAR file選項(xiàng)。

2.選擇要導(dǎo)出的Java工程,并填寫jar包的導(dǎo)出路徑。點(diǎn)擊finish即可在對應(yīng)路徑下看到生成的jar包。

三、將jar文件轉(zhuǎn)化為EXE文件
1. 打開exe4j Wizard.exe,在首頁先進(jìn)行License注冊,否則生成的exe文件在運(yùn)行時(shí)會提示:“this executable was create with an evaluation exe4j”。注冊時(shí)可以使用如下的注冊號:
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
2. 點(diǎn)擊next,選擇”JAR in EXE” mode。

3.點(diǎn)擊next,填寫生成的應(yīng)用名和輸出目錄。

4.點(diǎn)擊next,根據(jù)自己的應(yīng)用類別進(jìn)行選擇,并填入可執(zhí)行文件的名稱。其余選項(xiàng)可根據(jù)自己的需要進(jìn)行設(shè)置。

生成的EXE默認(rèn)是在32位的JDK環(huán)境先運(yùn)行。如果是目標(biāo)計(jì)算機(jī)的運(yùn)行環(huán)境為64位,則還應(yīng)勾選如下選項(xiàng):

5. 點(diǎn)擊next,添加需要生成EXE的jar包并設(shè)置好它的mainclass。


6.根據(jù)自己應(yīng)用對Java API的使用情況,設(shè)定運(yùn)行時(shí)jre的最小版本和最大版本限定。

7. 接著設(shè)定生成EXE文件時(shí)所需要依賴的JDK。如果已將Java正確配置到系統(tǒng)環(huán)境變量中,該步驟一般可跳過。

8. 接著一路next,看到如下界面時(shí)說明已經(jīng)將jar包轉(zhuǎn)換為對應(yīng)的exe文件。這時(shí)便可以打開對應(yīng)的exe文件看是否正常運(yùn)行。

四、可能遇到的問題
1.執(zhí)行EXE文件時(shí)提示java.lang.NoClassDefFoundError

這是由于你程序中有引用到第三方的jar包,而生成EXE文件時(shí)沒有將其關(guān)聯(lián)起來。在ConfigureJava invocation時(shí),需要將引用到的第三方庫也包含進(jìn)來。

2. 執(zhí)行EXE文件時(shí)提示java.lang.UnsatisfiedLinkError

這是由于程序中引用到的jar包中,有通過JNI機(jī)制去調(diào)用到一些dll文件中的方法,而在配置生成EXE的過程中沒有指定。在Configure Java invocation時(shí),需要在native libraries中添加dll所在的目錄。

3. 執(zhí)行EXE文件時(shí)提示java.lang.UnsupportedClassVersionError

這個(gè)一般是由于運(yùn)行時(shí)JDK版本與開發(fā)的JDK版本不一致導(dǎo)致(比如你開發(fā)時(shí)用的是64位的JDK,而在其它電腦上運(yùn)行時(shí),它的JDK缺失32位的),兩邊的JDK位數(shù)一致就行。
到此這篇關(guān)于Java生成exe可執(zhí)行文件的文章就介紹到這了,更多相關(guān)Java生成exe文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析web.xml中在Servlet中獲取context-param和init-param內(nèi)的參數(shù)
本篇文章是對web.xml中在Servlet中獲取context-param和init-param內(nèi)的參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
詳解Spring Boot 使用Spring security 集成CAS
本篇文章主要介紹了詳解Spring Boot 使用Spring security 集成CAS,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
MyBatis實(shí)現(xiàn)樂觀鎖和悲觀鎖的示例代碼
在數(shù)據(jù)庫操作中,樂觀鎖和悲觀鎖是兩種常見的并發(fā)控制策略,本文主要介紹了MyBatis實(shí)現(xiàn)樂觀鎖和悲觀鎖的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07
tk-mybatis整合springBoot使用兩個(gè)數(shù)據(jù)源的方法
單純的使用mybaits進(jìn)行多數(shù)據(jù)配置網(wǎng)上資料很多,但是關(guān)于tk-mybaits多數(shù)據(jù)源配置沒有相關(guān)材料,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2021-12-12
java中@JsonValue和@JsonCreator使用
本文主要介紹了java中@JsonValue和@JsonCreator使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
一篇文章帶你解決 IDEA 每次新建項(xiàng)目 maven home directory 總是改變的問題
這篇文章主要介紹了一篇文章帶你解決 IDEA 每次新建項(xiàng)目 maven home directory 總是改變的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
解決分頁插件pagehelper在SpringBoot不起作用的問題
這篇文章主要介紹了解決分頁插件pagehelper在SpringBoot不起作用的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05

