學習java時,教材中關於如題問題,只有一小節說明,並且要本身寫麻煩的配置文件,最終結果卻只能轉換爲jar文件。實在是心有不爽。此篇博客教你如何方便快捷地把java代碼,打包成jar文件以及轉換爲exe可執行文件java
咱們都知道Java能夠將二進制程序打包成可執行jar文件,雙擊這個jar和雙擊exe效果是同樣同樣的,但感受仍是不一樣。其實將java程序打包成exe也須要這個可執行jar文件。eclipse
eclipse或Myeclipse以及exe4j(網上有軟件和賬號下載)函數
首先看一下個人java project結構,Main.java是程序入口類,裏面有main函數,config目錄是些配置文件,lib是用到的第三方類庫學習
開始打包,Simulate(Java項目)-鼠標右鍵-Export優化
彈出窗口,選擇「JAR file」,點擊「Next」ui
取消勾選「config」和「lib」目錄,以及eclipse生成的項目配置文件「.classpath」和「.project」,點擊「Next」spa
一切默認,點擊「Next」code
在彈出窗口中,選擇咱們本身建立的MANIFEST.MF文件,點擊「Finish」ip
個人MANIFEST.MF文件內容爲:資源
Manifest-Version: 1.0Main-Class: bing.Main Class-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jar lib/JTattoo.jar lib/liquidlnf.jar Created-By: Kun Sun
經過指定「Main-Class」來達到可執行jar文件的目的。其實咱們最終是將項目打包成exe,Class-Path能夠不指定,在打包exe的時候還要指定classpath的。
這裏要明確一點,並非把全部的文件都打包成一個exe,資源文件是不能包進去的,往下看↓
首先,在任意目錄建立一個文件夾,最好命名和項目名相同,我在F盤建立了一個「Simulate」文件夾,以後將全部的資源文件以及咱們生成的可執行jar文件(個人Simulate.jar)都拷貝到這個文件夾裏,config目錄和lib目錄,若是你怕執行該程序的機器上沒安裝jre,那麼你須要將本身機器上的jre目錄也拷貝進來,我安裝的jre5,最後的目錄結構:
打開exe4j,跳過歡迎,直接點擊左側導航的第二項,由於咱們已經提早將java項目打包成可執行jar文件了
在彈出窗口,選擇「JAR in EXE mode」,點擊「Next」
在新窗口中,爲咱們的應用取個名稱,以後選擇exe生成目錄(個人F:\Simulate),點擊「Next」
爲咱們要生成的exe取名,若是想生成自定義圖標,那麼選擇你的ico文件,若是你不想在一臺電腦上運行多個你的程序,你能夠勾選「Allow only a single...」,點擊「Next」
點擊綠色「+」,設置程序運行的Class Path
先選擇咱們本身的可執行jar文件(個人Simulate.jar),點擊OK
咱們的Simulate.jar就加到Class Path下了
以後點擊General中的Main Class選擇按鈕,在彈出窗口中,exe4j會自動搜索當前Class Path下的所有jar中包含main方法的類,並列出,由於當前我只選擇了本身項目的jar,而個人項目中只有Main.jar包含了main方法,因此一目瞭然,直接選擇它點擊「OK」,程序入口類就設置完成了
Main Class設置完成後,依次將全部須要的第三方類庫加到Class Path下,方法同添加「Simulate.jar」同樣,點擊「Next」
輸入Java最小Jre版本號,即低於這個版本的Jre沒法運行該程序,接着點擊「Advanced Options」-「Search sequence」,設置一下咱們的JRE,以前說過,若是客戶機上沒裝Jre咋辦?,不要緊咱們捆綁一個進去
點擊綠色「+」來選擇捆綁的JRE位置
在彈出對話框中選擇「Directiony」,以後選擇JRE的文件夾,注意:這個JRE目錄是咱們將本機的JRE目錄拷貝到當前exe生成目錄下的,個人目錄是F:\Simulate\jre5,下圖程序使用的是相對目錄,點擊OK,完成JRE的捆綁操做
JRE捆綁完畢,點擊「Next」
默認,點擊「Next」
默認,點擊「Next」
默認,點擊「Next」
exe生成中
OK,完成,點擊「Exit」便可
看當作果如何吧!
咱們的可執行jar以及第三方jar總共還不到5M,可jre5目錄就50多M,若是目標機器上有JRE環境就能夠把它刪掉了,lib目錄是第三方jar文件,現已打包到exe中了,因此它也沒有存在的理由了,那麼最小配置就剩下了「Simulate.exe」和「config」目錄了!
上述步驟基本上是本身已經嘗試過的步驟,其中有些步驟能夠省略,好比說Step1中從java代碼轉換爲jar的過程當中能夠不寫配置文件(MANIFEST.MF文件),系統會自動給出,是否是很方便,。再好比Step2中的綁定jre,能夠不綁定。至於其他能夠更優化及方便地步驟,讀者能夠本身摸索嘗試。