原創(chuàng)|其它|編輯:郝浩|2012-10-12 15:49:27.000|閱讀 1751 次
概述:如何把一個(gè)Java程序打包成exe文件,運(yùn)行在沒有Java虛擬機(jī)的機(jī)器上?首先,將編譯好的程序打包成jar文件,然后做出exe,這樣代碼就不可見了,但是exe文件在沒有安裝jre的電腦上不能運(yùn)行,如果要求客戶再去安裝jre并設(shè)置環(huán)境變量就不太人性化了,所以我們需要將jre打包。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
如何把一個(gè)Java程序打包成exe文件,運(yùn)行在沒有Java虛擬機(jī)的機(jī)器上?
首先,將編譯好的程序打包成jar文件,然后做出exe,這樣代碼就不可見了,但是exe文件在沒有安裝jre的電腦上不能運(yùn)行,如果要求客戶再去安裝jre并設(shè)置環(huán)境變量就不太人性化了,所以我們需要將jre打包。
這幾步操作網(wǎng)上介紹的插件和方法很多,但很多不好用。經(jīng)過篩選,最終選擇了Exe4j,并使用Install4j來增加安裝引導(dǎo)。
廢話不多說,下面發(fā)出建議步驟:
推薦工具:Exe4j
用Exe4j把java打包成exe,在我們寫程序的時(shí)候,有時(shí)會(huì)有一種需求,那就是希望我們的程序是一個(gè)可執(zhí)行文件,而不是一個(gè)jar文件,其實(shí)大部份時(shí)候,可執(zhí)行的jar文件都可以滿足要求,但是如果我們的程序是需要保護(hù)的,那么打包成jar文件就不太安全了,因?yàn)閖ar文件就是一個(gè)解壓縮文件,一解壓就什么都能看到了,當(dāng)然也可以選擇混淆,但是混淆了以后排錯(cuò)就沒那么容易了,因?yàn)榛煜臅r(shí)候,把一些類的信息都混淆了。如何既保證代碼的安全又容易排錯(cuò)呢?那么打包成exe就是一種很好的辦法了,其實(shí)我今天介紹這個(gè)方法并不是希望大家去打包成exe文件,因?yàn)閑xe文件畢竟不是跨平臺(tái)的,用了exe的格式就失去了java的初衷了。
Exe4j可以打包成各種格式的exe,可以把jar打包進(jìn)exe,也可以引用一個(gè)外部的 jar文件,還可以打包成windows服務(wù)的程序,并且可以設(shè)置最低jre的版本,還可以設(shè)定啟動(dòng)畫面,雖然java6.0已經(jīng)實(shí)現(xiàn)了這一點(diǎn),但是還是沒有Exe4j生成的啟動(dòng)畫面快。
詳細(xì)的打包步驟,網(wǎng)上很多,這里不再整理了。
推薦工具:Install4j
Install4j是一個(gè)功能強(qiáng)大的,多平臺(tái)Java安裝文件生成工具,用于生成Java應(yīng)用程序本地化的安裝及應(yīng)用程序發(fā)布。 Install4j的優(yōu)異性在于它易于使用,緊密的集成到目標(biāo)平臺(tái),以及靈活的JRE 管理與部署選項(xiàng)。
Install4j的圖形用戶界面允許你:
完全自定義發(fā)布樹
在發(fā)布樹的每一個(gè)目錄中,你能設(shè)置整個(gè)目錄內(nèi)容或是磁盤上任何目錄的單個(gè)文件。定義的視圖與結(jié)果視圖讓你能完全控制安裝程序?qū)l(fā)布的文件。
處理特定平臺(tái)的差異
Install4j提供方便的“包含/排除”機(jī)制,使其適應(yīng)平臺(tái)方式來進(jìn)行發(fā)布。
針對(duì)Unix, Linux 及Mac OS X所定義的文件權(quán)限
對(duì)發(fā)布樹的每一個(gè)元素,當(dāng)其安裝在類似于Unix這樣的平臺(tái)上時(shí),你能自定義用戶訪問的權(quán)限。
定義優(yōu)良的卸載策略
對(duì)發(fā)布樹的每一個(gè)元素,你能決定在卸載時(shí)是否刪除它。
定義覆蓋策略
對(duì)發(fā)布樹的每一個(gè)元素,你能配置不同的覆蓋策略,當(dāng)安裝過程中需要覆蓋文件時(shí),這些覆蓋策略會(huì)指示nstall4j進(jìn)行相應(yīng)的操作。
定義安裝的組件
你能定義文件及目錄的分組,形成分離的安裝組件,這樣你就可提供給用戶來選擇只安裝一定的組件。
其實(shí)一個(gè)好的應(yīng)用如果不太好布署,那么別人也只能對(duì)它望而興嘆了,現(xiàn)在有了 Install4j,很多布署的問題幾乎全部解決了。我們可以用Exe4j打包java應(yīng)用,然后用Install4j發(fā)布java應(yīng)用,以前java程序布署難的問題,現(xiàn)在幾乎都解決了。Install4j不但用于打包很合適,并且它還提供了一組很強(qiáng)大很實(shí)用的與平臺(tái)相關(guān)的api。這些對(duì)于擴(kuò)展我們的程序也是有很大的幫助的。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:樸人博客