java.exe 尋找 JRE 順序:
jre。jre (關鍵)。將 JRE 複製到應用父目錄 (如 MyApp/jre),java.exe 即會使用私有 JRE,不依賴系統安裝。
MyApp.jar,置於 MyApp/。jre1.5.0) 至 MyApp/jre。set path=MyApp\jre\binjava -verbose -jar MyApp.jar[Opened MyApp\jre\lib\rt.jar] 確認成功。bin/java.exe 或 javaw.exe、lib/rt.jar, jsse.jar, jce.jar, charsets.jar、lib/i386、lib/zi/<地區>。bin/*.exe、未用 lib/ext、其他地區檔、source.zip 等。ClassNotFound。
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR cmd, int show) {
STARTUPINFO si = {sizeof(si)}; PROCESS_INFORMATION pi;
if (!CreateProcess("jre\\bin\\javaw.exe",
"jre\\bin\\javaw.exe -jar MyApp.jar", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
ErrorExit("CreateProcess failed");
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess); CloseHandle(pi.hThread);
return 0;
}
MyApp.exe,與 jre/、MyApp.jar 同目錄。| 優點 | 缺點 |
|---|---|
| 零安裝、零配置、版本隔離、綠色攜帶 | 體積較大 (即使精簡仍 ~數十 MB)、需維護多平台 JRE、安全性更新需自行替換 |
本文來自編程入門網:原文連結