可執行 Jar 的限制
在使用 Spring Boot Loader 打包的應用時,您需要考慮以下限制:
-
Zip 條目壓縮:巢狀 jar 的
ZipEntry
必須使用ZipEntry.STORED
方法儲存。這是必需的,以便我們可以直接跳轉到巢狀 jar 內的各個內容。巢狀 jar 檔案本身的內容以及外部 jar 中的任何其他條目仍然可以被壓縮。
-
System classLoader:啟動的應用在載入類時應該使用
Thread.getContextClassLoader()
(大多數庫和框架預設如此)。嘗試使用ClassLoader.getSystemClassLoader()
載入巢狀 jar 中的類會失敗。java.util.Logging
總是使用系統類載入器。因此,您應該考慮使用不同的日誌實現。