可執行 Jar 限制
當使用 Spring Boot Loader 封裝的應用程式時,您需要考慮以下限制
-
Zip 條目壓縮:巢狀 jar 的
ZipEntry
必須使用ZipEntry.STORED
方法儲存。這是必需的,以便我們可以於巢狀 jar 內直接搜尋個別內容。巢狀 jar 檔案本身的內容仍然可以壓縮,如同外部 jar 中的任何其他條目一樣。
-
系統類別載入器:啟動的應用程式在載入類別時應使用
Thread.getContextClassLoader()
(大多數程式庫和框架預設都這樣做)。嘗試使用ClassLoader.getSystemClassLoader()
載入巢狀 jar 類別會失敗。java.util.Logging
始終使用系統類別載入器。因此,您應該考慮使用不同的日誌實作。