解決getResourceAsStream 的Null 輸出
嘗試使用Class::getResourceAsStream 從文字檔案的JAR 中打包時傳回null,這表示資源載入機制的問題。以下解決方案解決了此問題:
-
修改資源載入:而不是使用Lifepaths.class.getClass().getResourceAsStream(...),它會呼叫系統類別載入器(通常缺乏對打包資源的可見性),直接利用Lifepaths.class.getResourceAsStream(...) 。這樣可以確保資源由載入Lifepaths的類別載入器加載,從而允許其存取打包的資源。
-
前導斜線:在getResourceAsStream(name)中指定資源路徑時,是必須在其前面加上正斜線 (/)。這並不總是必要的,但已被觀察到可以解決潛在問題。
透過實現這些修改,提供的程式碼應該會成功從 JAR 套件中載入並列印文字檔案的內容。
以上是為什麼在存取 JAR 中的資源時 `getResourceAsStream` 傳回 Null,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!