首頁 > Java > java教程 > 為什麼在存取 JAR 中的資源時 `getResourceAsStream` 傳回 Null,如何修復?

為什麼在存取 JAR 中的資源時 `getResourceAsStream` 傳回 Null,如何修復?

Mary-Kate Olsen
發布: 2024-12-21 22:24:28
原創
759 人瀏覽過

Why Does `getResourceAsStream` Return Null When Accessing Resources in a JAR, and How Can I Fix It?

解決getResourceAsStream 的Null 輸出

嘗試使用Class::getResourceAsStream 從文字檔案的JAR 中打包時傳回null,這表示資源載入機制的問題。以下解決方案解決了此問題:

  1. 修改資源載入:而不是使用Lifepaths.class.getClass().getResourceAsStream(...),它會呼叫系統類別載入器(通常缺乏對打包資源的可見性),直接利用Lifepaths.class.getResourceAsStream(...) 。這樣可以確保資源由載入Lifepaths的類別載入器加載,從而允許其存取打包的資源。
  2. 前導斜線:在getResourceAsStream(name)中指定資源路徑時,是必須在其前面加上正斜線 (/)。這並不總是必要的,但已被觀察到可以解決潛在問題。

透過實現這些修改,提供的程式碼應該會成功從 JAR 套件中載入並列印文字檔案的內容。

以上是為什麼在存取 JAR 中的資源時 `getResourceAsStream` 傳回 Null,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板