從JAR 載入資源
存取JAR 存檔中嵌入的資源時,開發人員通常會遇到IDE 期間取得的資源路徑間的差異執行以及透過JAR 運行應用程式時。在 IDE 的上下文中,直接從檔案系統存取資源,而在 JAR 環境中,路徑會以存檔的前綴(例如「jar:/root/app.jar!/」)進行裝飾。
要解決此問題並保持一致的資源存取機制,請注意以下建議:
利用getResourceAsStream
避免使用FileInputStream 或類似方法載入資源的誘惑。相反,利用 getResourceAsStream() 方法檢索資源作為輸入流,可以方便地從中讀取資料。
避免直接文件系統訪問
如果您代碼依賴於將資源作為存儲在文件系統中的單個文件進行訪問,避免將這些資源打包在JAR 文件中。考慮另一種安排,例如將它們維護為單獨的文件。
考慮臨時文件提取
作為最後的手段,您可以探索涉及以下步驟的黑客解決方案:
雖然這種方法可能有效,但其隨意性表明應謹慎使用。
以上是如何一致地存取 JAR 中的嵌入資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!