exe4j 給jar打包exe文件
阿新 • • 發佈:2017-07-16
能夠 針對 用戶 data 計劃 建議 java應用 main 完整
對於作Java桌面應用來說,比較煩人的就是安裝部署問題。client是否安裝有jre、jre版本號問題、jre去哪下載、怎樣用jre啟動你的Java應 用?不要說剛接觸電腦的人,就算是比較熟悉電腦,假設沒有接觸過Java,面對一個Java應用,怎樣在Windows下啟動它,預計都會折騰半天。假設 不是由於這個問題。Java在我的眼裏算是最完美的語言了,也是我最喜愛的語言。
所以我覺得這個是導致Java桌面應用被一些人所討厭的最大原因,Java的優勢是“一次編寫。隨處執行”,跨平臺特性確實非常好,但並非每一個人都須要或都想要跨平臺,並且有時候JVM平臺或版本號問題也會造成“一次編寫,到處測試”的尷尬。
最好的方式莫過於帶著JRE,讓用戶輕松點擊就能執行。
能夠看到已經附帶了jre1.6 , 以下先使用exe4j給它制作一個exe運行文件(即上圖的MyLoading.exe)。並指定我們自帶的jre1.6 。
接著選擇類型,我們選擇第一個。這樣能夠保證程序仍具有跨平臺的特性。假設選擇第二個,能夠把程序全然編譯成exe文件,能夠更好的保護你的程序不被反編譯。
接下來設置你的程序的短文件名稱,源文件夾路徑(如我的:E:\MyLoading),以及要生成的exe文件的存放文件夾,exe存放文件夾必須指定到源文件夾下。這裏我把它指定為E:\Myloading的根文件夾下。
接下來,能夠給我們即將生成的exe文件起一個名字,如我的“MyLoading”。還能夠給它指定一個ico類型的圖標,其他按默認就能夠了,如圖:
接下來的這一步,我們須要把程序中所用到的類路徑加入上去。
基本上你所須要用到的Jar文件都要加入上去,能夠逐個加入上去,也能夠加入整個目錄或者使用系統環境變量。為了使你的程序能夠隨處執行,所以還是強列 建議你使用相對路徑,而且不要使用環境變量。
接下來先選擇我們的程序所須要的jre版本號。 然後便是選擇我們自帶的jre了,這一步不是必須,可是為了更好的分發程序,我們自帶了jre, 所以必須把我們自帶的jre指定為首選的執行環境,如圖選擇:
Search sequence
默認情況下程序會去系統的註冊表。環境變量及相關的文件夾查找jre,由於我們僅僅須要自帶的jre,所以這裏我把默認的選項移除了。然後加入我們自己的jre所在的文件夾路徑。點+號開始:
這裏還是建議使用相對的文件夾路徑:
指定jre所在的文件夾。如圖:
最後我的jre文件夾路徑就是這種:.\jre1.6
以下這一步僅僅是簡單的給程序加入一個啟動畫面,然後按默認下一步下一步就能夠了。
程序終於生成了這個運行文件: MyLoading.exe
如今使用它,已經能夠正常利用我們自帶的jre啟動程序了,可是整個程序仍有40M的大小.
如今我們使用Inno Setup進行壓縮並制作一個安裝包。
Inno Setup的下載安裝請到網上搜索。安裝後啟動腳本向導,如圖所看到的:
整個過程非常easy:
這裏指定你的程序的啟動文件,即剛才用exe4j創建的exe文件,並將你的整個程序文件夾都包括進去就能夠了,接下來的基本上一直按下一步就能夠了。直到腳本向導完畢,
然後運行該腳本就可以:
然後找到Inno Setup的默認輸出文件夾。就能夠看到編譯輸出後的安裝包了,例如以下圖:MyLoading安裝.exe
大小已經壓到了8.86M。
利用這個就能夠高速輕松的安裝你的Java桌面應用了。
所以我覺得這個是導致Java桌面應用被一些人所討厭的最大原因,Java的優勢是“一次編寫。隨處執行”,跨平臺特性確實非常好,但並非每一個人都須要或都想要跨平臺,並且有時候JVM平臺或版本號問題也會造成“一次編寫,到處測試”的尷尬。
最好的方式莫過於帶著JRE,讓用戶輕松點擊就能執行。
以下我們來解決這種問題。有什麽好的建議或方法請其它朋友多多不吝賜教或補充!
針對windows平臺。讓用戶一鍵式安裝,雙擊使用, 使用工具exe4j + Inno Setup, 這兩個工具都能夠在網上找到,不熟悉的能夠多搜搜,使用起來也不難。
帶著JRE執行。JRE的大小應該是最讓人頭疼的,我默認安裝的jre6大小達到80M,而程序僅僅有200-300k左右。感覺非常不合理,分發與網絡傳 輸過程也會大受影響!
為了解決問題我一直在網絡上搜索“瘦身版”的JRE,無意中搜到了Beansoft老師介紹的一篇關於迷你JRE的文章,相關的 JRE下載後解壓約14M左右,試用了一下,相對於我的應用缺少了一些類文件,關於部分xml操作類。及swing桌面應用框架相關連的部分類也找不到, 最後借鑒了一下,自己把一個完整的JRE從80M瘦到了38M。去除了非常多不須要的類文件。當然。假設耐心一點還能夠再瘦下去。再抽掉一些類文件。
在這個基礎上再配合Inno Setup這個安裝包制作工具,最後把整個程序從40M壓到了8M,以下看看關於整個操作過程,關於JRE的瘦身有些煩瑣就不寫了,並且SUN的JRE瘦身計劃也在進行,相信非常快會有更小的瘦身版JRE推出,自己沒有必要再去費神。
以下是我的一個完整的Java程序 —— MyLoading
能夠看到已經附帶了jre1.6 , 以下先使用exe4j給它制作一個exe運行文件(即上圖的MyLoading.exe)。並指定我們自帶的jre1.6 。
以下是exe4j的啟動界面,點擊下一步開始創建配置文件。
接著選擇類型,我們選擇第一個。這樣能夠保證程序仍具有跨平臺的特性。假設選擇第二個,能夠把程序全然編譯成exe文件,能夠更好的保護你的程序不被反編譯。
接下來設置你的程序的短文件名稱,源文件夾路徑(如我的:E:\MyLoading),以及要生成的exe文件的存放文件夾,exe存放文件夾必須指定到源文件夾下。這裏我把它指定為E:\Myloading的根文件夾下。
接下來,能夠給我們即將生成的exe文件起一個名字,如我的“MyLoading”。還能夠給它指定一個ico類型的圖標,其他按默認就能夠了,如圖:
接下來的這一步,我們須要把程序中所用到的類路徑加入上去。
然後指定程序的啟動類。其他假設沒有必要的話,則按默認就可以。點擊+號加入類路徑:
基本上你所須要用到的Jar文件都要加入上去,能夠逐個加入上去,也能夠加入整個目錄或者使用系統環境變量。為了使你的程序能夠隨處執行,所以還是強列 建議你使用相對路徑,而且不要使用環境變量。
加入好你的類路徑之後回到上一步去選擇好你的"Main Class"就可以。
接下來先選擇我們的程序所須要的jre版本號。 然後便是選擇我們自帶的jre了,這一步不是必須,可是為了更好的分發程序,我們自帶了jre, 所以必須把我們自帶的jre指定為首選的執行環境,如圖選擇:
Search sequence
默認情況下程序會去系統的註冊表。環境變量及相關的文件夾查找jre,由於我們僅僅須要自帶的jre,所以這裏我把默認的選項移除了。然後加入我們自己的jre所在的文件夾路徑。點+號開始:
這裏還是建議使用相對的文件夾路徑:
指定jre所在的文件夾。如圖:
最後我的jre文件夾路徑就是這種:.\jre1.6
以下這一步僅僅是簡單的給程序加入一個啟動畫面,然後按默認下一步下一步就能夠了。
程序終於生成了這個運行文件: MyLoading.exe
如今使用它,已經能夠正常利用我們自帶的jre啟動程序了,可是整個程序仍有40M的大小.
如今我們使用Inno Setup進行壓縮並制作一個安裝包。
Inno Setup的下載安裝請到網上搜索。安裝後啟動腳本向導,如圖所看到的:
整個過程非常easy:
這裏指定你的程序的啟動文件,即剛才用exe4j創建的exe文件,並將你的整個程序文件夾都包括進去就能夠了,接下來的基本上一直按下一步就能夠了。直到腳本向導完畢,
然後運行該腳本就可以:
然後找到Inno Setup的默認輸出文件夾。就能夠看到編譯輸出後的安裝包了,例如以下圖:MyLoading安裝.exe
大小已經壓到了8.86M。
利用這個就能夠高速輕松的安裝你的Java桌面應用了。
exe4j 給jar打包exe文件