用戶習慣雙擊 EXE 運行程序,而 java -jar 需命令行。本文提供一個極簡 Delphi 2009 實現的 launcher.exe,讀取同目錄 config.ini 指定的 JAR 路徑,調用 javaw -jar 啟動,支援圖標自定義、參數擴展,適合桌面應用分發。
// Delphi 核心代碼
program launcher;
uses Windows, ShellAPI, IniFiles, SysUtils;
var ini: TIniFile; JarFile: String;
begin
Application.Initialize;
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'config.ini');
JarFile := ini.ReadString('config', 'JarFile', '');
ShellExecute(GetActiveWindow, 'open', 'javaw', PWideChar('-jar ' + JarFile), '', SW_NORMAL);
ini.Free;
Application.Run;
end.
launcher.exe
config.ini
jars/
└── swt.jar (或任意應用 JAR)
[config]
JarFile = jars\swt.jar
javaw,無需打包 JRE(若需內嵌 JRE 可改用 Launch4j、jpackage)。附件提供完整 Delphi 源碼與編譯後 EXE,讀者可直接修改配置投入使用。