首先,將編譯好的程序打包成jar文件,然后做出exe,這樣代碼就不可見(jiàn)了;但是exe文件在沒(méi)有安裝jre的電腦上不能運行,如果要求客戶(hù)再去安裝jre 設置環(huán)境變量 就不雅了。我們需要將jre打包。
這幾步操作網(wǎng)上介紹的插件和方法很多,但有的好用有的不好用,而且有的還需要注冊。經(jīng)過(guò)嘗試比較,在“千里冰封”的博客上得到了很大的幫助。整理一下。使用這幾個(gè)工具,您也可以順利的發(fā)布您的java程序!
1 打包成雙擊可執行的jar文件。
推薦插件:fatJar(Eclipse使用)
下載地址
http://sourceforge.net/project/showfiles.php?group_id=115990&package_id=125924我用的是Eclipse,它自帶的打包方法在打包一些圖片等資源時(shí)不是很爽??梢允褂眠@個(gè)插件。
安裝方法解壓后將plugins文件夾下的net.sf.fjep.fatjar_0.0.24文件夾拷到eclipse安裝目錄的plugins 下。
用此工具可以方便的將eclipse中的工程打包成jar文件。如果是要打成可執行的jar請注意選取主類(lèi)。
你的項目=〉Export..=>向導里有fat jar =>...
2 將jar文件轉換成exe文件。
推薦工具:exe4j
用exe4j把java打包成exe
http://www.blogjava.net/hadeslee/archive/2007/10/12/152228.html在我們寫(xiě)程序的時(shí)候,有時(shí)會(huì )有一種需求,那就是希望我們的程序是一個(gè)可執行文件,而不是一個(gè)jar文件,其實(shí)大部份時(shí)候,可執行的jar文件都可以滿(mǎn)足要求,但是如果我們的程序是需要保護的,那么打包成jar文件就不太安全了,因為jar文件就是一個(gè)解壓縮文件,一解壓就什么都能看到了,當然也可以選擇混淆,但是混淆了以后排錯就沒(méi)那么容易了,因為混淆的時(shí)候,把一些類(lèi)的信息都混淆了。如何既保證代碼的安全又容易排錯呢?那么打包成exe就是一種很好的辦法了,其實(shí)我今天介紹這個(gè)方法并不是希望大家去打包成exe文件,因為exe文件畢竟不是跨平臺的,用了exe的格式就失去了java的初衷了。
exe4j可以打包成各種格式的exe,可以把jar打包進(jìn)exe,也可以引用一個(gè)外部的jar文件,還可以打包成windows服務(wù)的程序,并且可以設置最低jre的版本,還可以設定啟動(dòng)畫(huà)面,雖然java6.0已經(jīng)實(shí)現了這一點(diǎn),但是還是沒(méi)有exe4j生成的啟動(dòng)畫(huà)面快。
3 將exe文件并jre打包成安裝文件 可以在沒(méi)有安裝java虛擬機的電腦上運行
推薦工具:install4j
Install4j介紹
http://www.blogjava.net/hadeslee/archive/2007/10/15/152855.htmlinstall4j是一個(gè)功能強大的,多平臺Java安裝文件生成工具,用于生成Java應用程序本地化的安裝及應用程序發(fā)布。 install4j 的優(yōu)異性在于它易于使用,緊密的集成到目標平臺,以及靈活的JRE 管理與部署選項。
創(chuàng )建發(fā)布樹(shù)
install4j的圖形用戶(hù)界面允許你:
* 完全自定義發(fā)布樹(shù)
在發(fā)布樹(shù)的每一個(gè)目錄中,你能設置整個(gè)目錄內容或是磁盤(pán)上任何目錄的單個(gè)文件。定義的視圖與結果視圖讓你能完全控制安裝程序將發(fā)布的文件。
* 處理特定平臺的差異
install4j提供方便的“包含/排除”機制,使其適應平臺方式來(lái)進(jìn)行發(fā)布。
* 針對Unix, Linux 及Mac OS X所定義的文件權限
對發(fā)布樹(shù)的每一個(gè)元素,當其安裝在類(lèi)似于Unix這樣的平臺上時(shí),你能自定義用戶(hù)訪(fǎng)問(wèn)的權限。
* 定義優(yōu)良的卸載策略
對發(fā)布樹(shù)的每一個(gè)元素,你能決定在卸載時(shí)是否刪除它。
* 定義覆蓋策略
對發(fā)布樹(shù)的每一個(gè)元素,你能配置不同的覆蓋策略,當安裝過(guò)程中需要覆蓋文件時(shí),這些覆蓋策略會(huì )指示nstall4j進(jìn)行相應的操作。
* 定義安裝的組件
你能定義文件及目錄的分組,形成分離的安裝組件,這樣你就可提供給用戶(hù)來(lái)選擇只安裝一定的組件。
其實(shí)一個(gè)好的應用如果不太好布署,那么別人也只能對它望而興嘆了,現在有了install4j,很多布署的問(wèn)題幾乎全部解決了.我們可以用exe4j打包java應用,然后用install4j發(fā)布java應用,以前java程序布署難的問(wèn)題,現在幾乎都解決了.install4j不但用于打包很合適,并且它還提供了一組很強大很實(shí)用的與平臺相關(guān)的api.這些對于擴展我們的程序也是有很大的幫助的.