下面的文章是介紹如何將本身編寫的swing應用程序打包爲.exe的可執行程序,進而編譯爲.exe的安裝程序。相信有這樣經歷的朋友確定能夠理解我爲何還要將已經編譯好的.exe程序更進一步的編譯爲安裝程序,由於通常而言本機打包的是基本不會出現什麼問題的,可是一旦拿到服務器上使用或者在其餘機器上使用的時候很容易出現jre或者版本問題致使程序不能正常運行,那麼最簡單的辦法就是讓程序本身附帶jre運行,那樣在什麼地方運行他都是使用本身附帶的jre來運行,這樣就能夠大大下降故障率了。java
須要注意的地方,我當前使用的IDE爲MyEclipse8.6,編譯環境爲jdk1.6,系統編碼UTF-8web
新建java Project 命名爲SwingTest,選擇jre爲1.6,而後直接finish服務器
在src下創建包com.swing.test
而且在該包下新建類Start
而後書寫以下代碼:
而後右鍵 Run as-------Java Application
能夠看到,這個簡單的例子是能夠跑起來的
接下來將此項目導出爲可執行jar,
在項目名上右鍵---Export..
而後選擇java--Runnable JAR file 而後選擇next
而後在Launch configuration下選擇當前的項目,這裏顯示的格式是[包含有main函數的類名 - 項目名]
而後在下面選擇輸出文件夾,這裏咱們選擇Browse..
而後選擇桌面,在桌面上新建一個文件夾src1
將生成的可執行jar輸出到此文件夾
其餘保持不變,finish便可
這個時候src1下面就有了可運行jar文件
=======================
接下來打開exe4j(個人版本是4.5.2,文章末尾我會附加改版本軟件下載地址),若是是未註冊的話建議註冊一下,百度exe4j註冊碼,而後點擊change license,
公司和姓名均可以隨便填,將註冊碼放入最後一行,若是不註冊會有討厭的彈框。
我這裏附上一組註冊碼
A-XVK258563F-1p4lv7mg7sav函數
A-XVK209982F-1y0i3h4ywx2h1編碼
A-XVK267351F-dpurrhnyarvaspa
A-XVK204432F-1kkoilo1jy2h3r3d
A-XVK246130F-1l7msieqiwqnqorm
A-XVK249554F-pllh351kcke50blog
A-XVK238729F-25yn13iea25i教程
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
打開後直接選擇Next
這裏選擇「JAR in EXE" mode
若是選擇regular mode會致使最終的結果報java.lang.ClassNotFoundException: com.swing.test.Start
這裏填寫本次相對於exe4j的項目名稱,隨意了,這時在桌面新建文件夾src2
而後這裏選擇src2,這個是你EXE程序生成的文件夾。
接下來只須要在Executable name中填寫你生成好以後,後綴名爲.exe的程序叫什麼名字
我這裏寫Start,即會生成Start.exe
其餘均不改動,保持默認,下面的一項Icon File能夠定義程序圖標,不能將其餘圖片直接
更改後綴名後選擇,必須使用圖標軟件生成後綴名爲ico的文件,或者選擇原本就是ico的文件,
這裏暫且不選
而後點擊右側小加號,
Entry type選擇爲Archive
Detail選擇爲src1下面的start1.jar
而後ok
在Main class這裏欄選擇啓動類,這裏固然是com.swing.test.Start
接下來配置程序運行要求最低jre版本和最高jre版本
這個時候須要準備一個jre,之因此單獨準備jre是爲了考慮有些用戶點上可能沒有jre,
也爲了程序具有最高兼容性,因此咱們讓咱們的程序使用本身的jre
將準備好的jre文件夾放入src2文件夾
選擇下面的Advanced Options---Search sequence
默認會看到一些配置,將這些配置所有刪除,一個都不留
而後點擊右邊的加號,
Entry type選擇Directory
而後選擇src2下的jre7
結果以下
而後選擇Next--選擇VM無論,默認便可--Next--下一個界面繼續Next----
這個時候再點擊next就開始將jar打包爲exe了
完成後選擇exit,彈出的框選NO
這個時候EXE程序就能夠直接運行了,繼續下一步
==================
打開 Inno Setup 5(個人版本是5.5.2,文章末尾我會附加該版本的下載連接)
選擇 下一步
這裏我只更改了」應用程序名稱「爲Start,
其餘信息隨本身喜愛,這裏暫不更改,選擇下一步
接下來的這一步不作任何更改,繼續選擇下一步
這一步應用主執行文件選擇剛剛生成在src2下的Start.exe, 而後添加文件夾,
選擇src2,會詢問你是否包含子文件夾,選擇是,包含全部文件夾,繼續下一步
這裏我不作什麼更改
繼續下一步
通常程序在安裝的時候都會有一些安裝提示、或者版權聲明,用戶贊成才繼續安裝程序,
這裏就是用來將你想要顯示的信息打包進程序,我在src1下面新建了三個文本文檔
1.txt
2.txt
3.txt
裏面隨便寫一句話便可,繼續下一步
這一步默認不作改變,繼續下一步,
在桌面新建文件夾 outexe
而後將編譯器輸出文件夾選擇爲outexe
其餘不作改變,
對下面三個參數稍做說明:
編譯器輸出基本文件名,即本次打包後在outexe文件夾中生成的文件名
自定義安裝圖標,這裏跟前面同樣,要ico文件,固然你選了就會是你這個圖標,若是你不選生成
後的圖標也不會是你在exe4j裏選的圖標
安裝密碼通常不使用,設置了的話,要想安裝本程序就須要輸入安裝密碼
繼續下一步
這一步默認選中,繼續下一步
這裏選擇完成
這裏選擇是
這裏我通常選選擇 否
如今就開始打包安裝程序了
等待一會,安裝程序就製做好了,就跟你平時見到的那些安裝程序同樣。
看到這個說明打包完成,好了,去看看本身製做的安裝程序吧!
================================================
PS:
一、JRE的大小通常在80M左右,打完包後大概有20多M,我我的還算是能夠忍受,網上有不少精簡JRE的教程,
能夠嘗試精簡本身的JRE來縮小最終程序的大小,我比較笨,就不精簡了。