在命令列部署中使用getClass().getResource() 載入檔案
getClass().getResource() 方法可以載入資源來自類路徑的檔案。然而,當從命令列運行應用程式時,如果當前類別路徑中無法存取資源文件,開發人員可能會遇到空指標異常。
Eclipse 與命令列
在 Eclipse 中,來源資料夾及其內容會在建置過程中自動新增至類別路徑。因此,在 IDE 中執行應用程式時,放置在與 Java 檔案相同的資料夾中的資源檔案將可以使用 getClass().getResource() 進行載入。
命令列部署層次結構
將應用程式部署為 JAR 檔案或從命令列運行它時,必須明確配置類路徑以包含資源檔案。如果資源檔案不在類別路徑中,getClass().getResource()將找不到它。
getClass().getResource()的正確使用
為了避免對檔案系統的依賴,建議使用getClass().getResourceAsStream() 而不是將URI 轉換為File 物件。此方法直接傳回資源的InputStream,即使檔案實際上不存在於檔案系統上,也允許載入。
ClassPath Configuration
確保資源檔案從命令列運行時可以在類路徑中訪問,它應該打包在JAR 檔案中或放置在屬於類路徑一部分的目錄中。如果在 java 指令中使用 -classpath 選項,請確保包含包含資源檔案的目錄。
結論
透過了解命令期間類路徑配置的細微差別在線上部署時,開發人員可以使用getClass().getResource() 有效載入資源文件,並在Eclipse 環境之外無縫運行其應用程式。
以上是如何在命令列部署中使用 getClass().getResource() 載入資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!