Windows可執行文件製做工具exe4j使用筆記

exe4j可用於將jar包製做成Windows可執行程序,安裝方法可參見我以前的一篇Blog:java

http://my.oschina.net/Tsybius2014/blog/725380windows

本文內容包括了製做jar包並使用exe4j工具將其製做成Windows可執行程序的詳細步驟。bash

我使用的操做系統爲Win7旗艦版,JDK版本爲1.8服務器

準備工做

創建一個Java工程,代碼以下:app

/**
 * 計算整數加法
 * @author Tsybius2014
 * @date 2016年8月2日
 * @time 下午2:35:16
 * @remark
 */
public class CalcAdd {
    public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("程序須要至少兩個數字做爲入參");
            return;
        }
        try {
            Long num1 = Long.valueOf(args[0]);
            Long num2 = Long.valueOf(args[1]);
            System.out.println(num1 + "+" + num2 + "=" + (num1 + num2));
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

將此工程導出爲「Runnable JAR File」,便可生成一個jar包,使用命令工具

java -jar CalcAdd.jar 參數1 參數2

便可使用CalcAdd.jar計算參數1與參數2的和,以下圖所示:動畫

下面開始介紹如何使用exe4j工具製做Windows可執行程序。exe4j工具使用一個嚮導引導用戶完成exe文件的建立。spa

第一步:歡迎頁(Welcome)

一、點擊Open按鈕可加載擴展名爲exe4j的配置文件(*.exe4j)操作系統

二、exe4j自動記憶最近使用過的10個配置,點擊Reopen按鈕能夠加載這些配置.net

第二步:選擇項目類型(Project type)

一、項目類型分爲常規模式(regular mode)和JARinEXE模式(JAR in EXE mode)

二、常規模式下exe4j是一個純粹的啓動器,依賴於全部的JAR文件和資源文件,換句話說,exe4j是你發佈程序的一個插件,而不是替代品

三、JARinEXE模式下,exe4j包含了JAR文件制定的class路徑配置,此模式下生成的可執行文件能夠獨立運行

第三步:應用程序信息(Application info)

在應用程序信息界面,可設置將exe文件生成到哪一個目錄下

第四步:執行信息(Executable info)

一、支持設置執行方式(Executable type),包括GUI程序、命令行應用程序、服務三類,這裏根據我要打的jar包實際狀況,選擇了命令行應用程序選項

二、支持設置可執行文件名稱(Executable name)

三、支持設定程序圖標(Icon file)

四、支持設定程序是否只容許執行一個實例(Allow only a single running ...)

本界面還支持一些高級設置(Advanced Options):

一、重定向(Redirection),包括基本輸出(stdout)和基本錯誤輸出(stderr)到的日誌文件設置

二、服務相關設置(Service option),本次打包過程無需設置此項

三、版本信息(Version info),支持設置產品版本(Product version)和文件版本(File version),及其餘一些文件描述信息

四、32-64位系統支持(32-bit or 64-bit),可選擇是否生成64位系統使用的可執行程序

五、其餘相關設置(Manifest options),設置WindowsVista或更高版本Windows系統中程序的執行等級,是否對DPI等內容。

第五步:Java調用(Java invocation)

一、在ClassPath中設定要打包的jar文件

二、在MainClass中設定包含Main方法的類

若是你的應用程序使用到了一些本地庫,可在本地庫(Native libraries)列表中列出本地庫的路徑

第六步:JRE設置(JRE)

一、本步驟可設置打包後程序允許的最高/最低JRE版本

二、本步驟可設置打包後程序是否可在beta版JRE上運行

三、本步驟可設置打包後程序是否只容許JDK而不容許JRE

在尋找隊列(Search sequence)中可設置尋找JRE或JDK的步驟,默認的尋找步驟是:

一、Windows系統註冊表

二、環境變量JAVA_HOME

三、環境變量JDK_HOME

在VM偏好設置(Preferred VM)中可設置運行本應用程序的JVM,包含默認(Default)、客戶端熱點(Client hotspot)、服務器熱點(Server hotspot)三類

第七步:啓動畫面(Splash screen)

本界面可配置應用程序是否有啓動畫面,若是有還可進一步配置相關的一些內容,以下圖所示的TextLines

第八步:語言包(Messages)

語言默認包含英(en)、法(fr)、德(de)三個,不過也能夠本身修改觸發各種異常時的提示信息。

第九步:編譯可執行文件(Compiling executable)

本步驟是一個讀條界面,執行完畢後會自動跳轉到嚮導第十步

第十步:嚮導結束(Finished)

一、此時exe程序就正式生成了,該程序可在輸出路徑找到

二、點擊「Click Here to Start the Application」可直接執行生成好的可執行程序

三、本界面可將配置保存到擴展名爲exe4j的文件中,實際上這是一個XML格式的配置文件,根據以前的嚮導設置生成的exe4j文件內容以下:

<?xml version="1.0" encoding="UTF-8"?>
<exe4j version="5.1" transformSequenceNumber="2">
  <directoryPresets config="C:/Users/Tsybius/Desktop" />
  <application name="CalcAdd" distributionSourceDir="C:/Users/Tsybius/Desktop">
    <languages>
      <principalLanguage id="en" customLocalizationFile="" />
    </languages>
  </application>
  <executable name="CalcAdd" type="2" iconSet="false" iconFile="" executableDir="" redirectStderr="false" stderrFile="error.log" stderrMode="overwrite" redirectStdout="false" stdoutFile="output.log" stdoutMode="overwrite" failOnStderrOutput="true" executableMode="2" changeWorkingDirectory="true" workingDirectory="." singleInstance="false" serviceStartType="2" serviceDependencies="" serviceDescription="" jreLocation="" executionLevel="asInvoker" checkConsoleParameter="false" globalSingleInstance="false" singleInstanceActivate="true" dpiAware="false" amd64="false">
    <messageSet />
    <versionInfo include="false" fileVersion="" fileDescription="" legalCopyright="" internalName="" productName="" companyName="" productVersion="" />
  </executable>
  <splashScreen show="false" width="0" height="0" bitmapFile="" windowsNative="false" textOverlay="false">
    <text>
      <statusLine x="20" y="20" text="" fontSize="8" fontColor="0,0,0" bold="false" />
      <versionLine x="20" y="40" text="version %VERSION%" fontSize="8" fontColor="0,0,0" bold="false" />
    </text>
  </splashScreen>
  <java mainClass="CalcAdd" vmParameters="" arguments="" allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true" minVersion="1.8" maxVersion="1.8" allowBetaVM="false" jdkOnly="false">
    <searchSequence>
      <registry />
      <envVar name="JAVA_HOME" />
      <envVar name="JDK_HOME" />
    </searchSequence>
    <classPath>
      <archive location="C:/Users/Tsybius/Desktop/CalcAdd.jar" failOnError="false" />
    </classPath>
    <nativeLibraryDirectories />
    <vmOptions />
  </java>
  <includedFiles />
  <unextractableFiles />
</exe4j>

運行可執行程序

製做好的可執行文件名爲CalcAdd.exe,文件被生成到了桌面上,以下圖所示:

如今再打開cmd,輸入命令

CalcAdd.exe 123 456

能夠發現與以前java命令執行的結果是一致的:

(若是咱們使用的是評估版exe4j工具,exe文件執行時會彈出相應的提示信息)

END

相關文章
相關標籤/搜索