1. 程式人生 > >使用exe4j將jar包生可執行的.exe檔案(加入jre依賴環境),可在其他機器上執行

使用exe4j將jar包生可執行的.exe檔案(加入jre依賴環境),可在其他機器上執行

首先,在任意目錄建立一個資料夾,最好命名和專案名相同,我在E盤建立了一個“DataStructure”資料夾,之後將所有的資原始檔以及我們生成的可執行jar檔案(我的DataStructure.jar)都拷貝到這個資料夾裡,  lib目錄,如果你要使對方計算機在沒有安裝JDK的情況下也能使用該程式,就需要將自己機器上的jre目錄也拷貝進來,我安裝的jre6,最後的目錄結構如下:

1、如果你有儲存過的專案打包配置檔案,那麼點>>open開啟點選next

2 、Project type-選擇打包方式

選擇“jar in exe”

3、 Application info-配置生成的應用程式的資訊

選擇你的應用程式的名稱和將要生成的可執行檔案的輸出資料夾。然後>>next.(注意:這裡的目錄一定要與jar包及其依賴的lib目錄為同一目錄,否在載入jre時無法使用相對目錄)

4、Executable info -配置可執行檔案的引數

如果只允許生成的exe檔案同時只能開啟一個程式執行,則把 “Allow only a single running instance of the application”這項的選擇鉤上。“Icon File”項表示生成exe檔案後的圖示,選擇一個“.ico”格式的圖片。點選next

5、java invocation-配置執行環境

在class path框下清除原有的class path路徑,點選右側的”+”選擇打包好的jar檔案

(1)、在Archive中選擇要匯入的jar檔案,如下圖:

點選“OK”,結果如下:

(2)、在Main class中選擇入口類,即含有main函式的類。

之後點選next

Main Class設定完成後,依次將所有需要的第三方類(即外部類)加到Class Path下,方法同新增“DataStructure.jar”一樣,點選“Next”

6、jre-配置jre以下(1)、(2)點很重要

在Minimum和Maximum中分別填寫所允許的最小和最大JDK的版本號。

如果要在這個程式中捆綁jre,則進入Configure search sequence選項:

(1)、將Search Windows registry保留,如果沒有該項,請點選綠色,選擇search registry,然後點選OK如下圖;


(2)再把其它的所有的directory刪除,特別是如果有JAVA_HOMEJDK_HOME的話一定要刪除,因為他會儲存你本機的JAVA_HOME地址,安裝時會出現路徑找不到的錯誤;

(3)、點選綠色來選擇捆綁的JRE位置

選擇剛剛拷貝好的jre如:注意此處jre的目錄一定要為相對目錄,否在在其他計算機上執行時jre必須放到和此次打包時相同目錄才可以)

  

在preferred VM中選擇一種-選擇虛擬機器型別,我選擇的是 Default VM。

7、接下來沒有什麼特別重要的配置了,可根據需要自己去選一些引數,也可以直接next,next,知道完成。

8、可能出現的問題

生成exe檔案之後可能每次開啟都會出現提示框:this executable was created with an evaluation version of exe4j

這是因為你還沒有註冊exe4j軟體,註冊之後就不會有提示了。

打包完的.exe程式執行的時候,報如下錯誤:The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.



原因是:我的電腦為64位的,而打包所使用的jre也為64為,但是使用exe4j打包時,卻預設打包為32位的,所以在64位電腦上執行時會出錯;

解決方法為:在打包的過程中的下級選單選擇64位就可以了,如下圖所示


最後提醒:在打包完測試時,一定要遮蔽掉本機的jdk環境,