[總結]JAVA程序打包成exe文件詳細圖解


聲明:本文有采用來自百度文庫,博客里面的資料,其中之一來自http://www.cnblogs.com/icewee/articles/2073203.html,感謝作者們!

前言:

我們都知道Java可以將二進制程序打包成可執行jar文件,雙擊這個jar和雙擊exe效果是一樣一樣的,但感覺還是不同。其實將java程序打包成exe也需要這個可執行jar文件。

准備:

eclipse、exe4j(網上有軟件和帳號下載)

第一步,將java項目打包成可執行jar文件

首先看一下我的java project結構,Main.java是程序入口類,里面有main函數,config目錄是些配置文件,lib是用到的第三方類庫

clip_image002

開始打包,Simulate(Java項目)-鼠標右鍵-Export

clip_image004

彈出窗口,選擇“JAR file”,點擊“Next”

clip_image006

取消勾選“config”和“lib”目錄,以及eclipse生成的項目配置文件“.classpath”和“.project”,點擊“Next”

clip_image008

一切默認,點擊“Next”

clip_image010

在彈出窗口中,選擇我們自己創建的MANIFEST.MF文件,點擊“Finish”

clip_image012

我的MANIFEST.MF文件內容為:

Manifest-Version: 1.0
Main-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: IceWee

通過指定“Main-Class”來達到可執行jar文件的目的。其實我們最終是將項目打包成exe,Class-Path可以不指定,在打包exe的時候還要指定classpath的。

 

 

第二步,將項目打包成exe

這里要明確一點,並不是把所有的文件都打包成一個exe,資源文件是不能包進去的,往下看↓

首先,在任意目錄創建一個文件夾,最好命名和項目名相同,我在F盤創建了一個“Simulate”文件夾,之后將所有的資源文件以及我們生成的可執行jar文件(我的Simulate.jar)都拷貝到這個文件夾里,config目錄和lib目錄,為了便於在其他機器上正常運行(我就在這個問題上出錯過,所以希望讀者可以直接避免),同時將安裝的JAVA目錄(例如:C:\Program Files\Java)下的jre5整個文件夾拷至該文件夾下,最后的目錄結構:

clip_image014

在打開exe4j之前先注冊

(轉自http://wangyali90516.blog.163.com/blog/static/117205101201232641920294/

exe4j是個很好的打包利器,官方下載地址:http://www.ej-technologies.com/download/exe4j/files.php
如果你不注冊,打包好的軟件每次啟動都會報:this executable was created with an evaluation version of exe4j ,特煩人,所以最好下載exe4j的破解版,但是有注冊碼,官方軟件畢竟比破解版好用,下面的注冊碼經測試,均可以使用.
用戶名和公司名可隨便填
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

打開exe4j,跳過歡迎,直接點擊左側導航的第二項,因為我們已經提前將java項目打包成可執行jar文件了。

clip_image016

在彈出窗口,選擇“JAR in EXE mode”,點擊“Next”

clip_image018

在新窗口中,為我們的應用取個名稱,之后選擇exe生成目錄(我的F:\Simulate),點擊“Next”

clip_image020

為我們要生成的exe取名,如果想生成自定義圖標,那么選擇你的ico文件,如果你不想在一台電腦上運行多個你的程序,你可以勾選“Allow only a single...”,點擊“Next”

clip_image022

先點擊

點擊綠色“+”,設置程序運行的Class Path

clip_image024

先選擇我們自己的可執行jar文件(我的Simulate.jar),點擊OK

clip_image026

我們的Simulate.jar就加到Class Path下了

然后繼續:

clip_image028

之后點擊General中的Main Class選擇按鈕,在彈出窗口中,exe4j會自動搜索當前Class Path下的全部jar中包含main方法的類,並列出,因為當前我只選擇了自己項目的jar,而我的項目中只有Main.jar包含了main方法,所以一目了然,直接選擇它點擊“OK”,程序入口類就設置完成了

clip_image030

Main Class設置完成后,依次將所有需要的第三方類庫加到Class Path下,方法同添加“Simulate.jar”一樣,點擊“Next”

clip_image032

輸入Java最小Jre版本號,即低於這個版本的Jre無法運行該程序,接着點擊“Advanced Options”-“Search sequence”,

選這個就是因為我們要把 JDK 環境也打包進來,好讓程序能跨平台使
用。首先要從你系統的 JDK 下的 JRE 目錄 copy 到你.exe 文件的輸出目錄下“桌面
project\JRE” ,然后回到 exe4j 中在彈出窗口刪除 列表中的所有項。我的是三項,一個注冊
表的, 一個 JAVA 環境變量的, 一個 JDK 環境變量的, 都不要。 然后單擊綠 “+” , 選擇 directory
並選擇 JRE 的根目錄,我的是“桌面\project\JRE”就是 copy 后的目錄,選完后 exe4j 彈
出窗口中的 Directory 里會顯示“. \JRE” 。點 OK 關閉該窗口,返回 exe4j 的主窗口,你就
可以看到剛加的路徑。再從主窗口左側窗口中單擊 advanced options,並選擇 preferred VM ,
在彈出的窗口中選擇 clienthostspot VM,單擊 next 按鈕繼續。

clip_image034

點擊綠色“+”來選擇捆綁的JRE位置

clip_image036

在彈出對話框中選擇“Directiony”,之后選擇JRE的文件夾,注意:這個JRE目錄是我們將本機的JRE目錄拷貝到當前exe生成目錄下的,我的目錄是F:\Simulate\jre5,下圖程序使用的是相對目錄,點擊OK,完成JRE的捆綁操作

clip_image038

 

JRE捆綁完畢,點擊“Next”

image

選擇Client hotspot VM,點擊“Next”

image

默認,點擊“Next”

clip_image044

默認,點擊“Next”

clip_image046

exe生成中

clip_image048

OK,完成,點擊“Exit”即可

clip_image050

看看成果如何吧!

clip_image052

 

我們的可執行jar以及第三方jar總共還不到5M,可jre5目錄就50多M,如果目標機器上有JRE環境就可以把它刪掉了,lib目錄是第三方jar文件,現已打包到exe中了,所以它也沒有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目錄了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM