可執行 Jar 限制

當使用 Spring Boot Loader 封裝的應用程式時,您需要考慮以下限制

  • Zip 條目壓縮:巢狀 jar 的 ZipEntry 必須使用 ZipEntry.STORED 方法儲存。這是必需的,以便我們可以於巢狀 jar 內直接搜尋個別內容。巢狀 jar 檔案本身的內容仍然可以壓縮,如同外部 jar 中的任何其他條目一樣。

  • 系統類別載入器:啟動的應用程式在載入類別時應使用 Thread.getContextClassLoader()(大多數程式庫和框架預設都這樣做)。嘗試使用 ClassLoader.getSystemClassLoader() 載入巢狀 jar 類別會失敗。java.util.Logging 始終使用系統類別載入器。因此,您應該考慮使用不同的日誌實作。