將java swing寫的用程式打包exe可執行程式
將java swing寫的用程式打包exe可執行程式
原文地址:https://www.cnblogs.com/ssh2/p/3463199.html
下面的文章是介紹如何將自己編寫的swing應用程式打包為.exe的可執行程式,進而編譯為.exe的安裝程式。相信有這樣經歷的朋友肯定可以理解我為什麼還要將已經編譯好的.exe程式更進一步的編譯為安裝程式,因為一般而言本機打包的是基本不會出現什麼問題的,但是一旦拿到伺服器上使用或者在其他機器上使用的時候很容易出現jre或者版本問題導致程式不能正常執行,那麼最簡單的辦法就是讓程式自己附帶jre執行,那樣在什麼地方執行他都是使用自己附帶的jre來執行,這樣就可以大大降低故障率了。
需要注意的地方,我當前使用的IDE為MyEclipse8.6,編譯環境為jdk1.6,系統編碼UTF-8
新建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-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
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:
1、JRE的大小一般在80M左右,打完包後大概有20多M,我個人還算是可以忍受,網上有很多精簡JRE的教程,
可以嘗試精簡自己的JRE來縮小最終程式的大小,我比較笨,就不精簡了。
2、EXE4J下載地址:http://pan.baidu.com/s/1j9d7a
3、Inno Setup 5下載地址:http://pan.baidu.com/s/1y2kgW