簡體   English   中英

java,加載資源失敗:無法解析文件:/my-jar.jar!/folder/my-file

[英]java, loading of resources fails: unable to resolve file:/my-jar.jar!/folder/my-file

從我制作的 Java 應用程序中,我構建了相應的 jar 文件。

我復制jar文件中的所有資源。

例如,如果在src/main/resources中存在以下資源/folder/my-file ,則將其復制到具有相同路徑的 jar 中。

但是如果我執行 jar,資源的加載就會失敗。

具體來說,它會像這樣拋出一個 IOException

java.io.IOException: 無法將“file:/my-jar.jar!/folder/my-file”解析為類路徑、文件名或 URL

我應該如何加載資源?

如果我在 eclipse 中運行 java 應用程序,一切正常,即使資源加載正確。

編輯:

我通過以下方式獲取資源的路徑:

 MyClass.class.getResource("/folder/my-file").getPath();

資源的加載是由外部庫完成的,我所要做的只是指定路徑。

在這種情況下,我會嘗試:

YourClass.class.getClassLoader().getResourceAsStream("folder/my-file");

這將獨立於您的執行環境將InputStream返回到您的資源。

如果你有這樣的結構:

src/main/Begin.java
src/main/folder/icon.png

在 Begin.java 中試試這個:

  Begin.getClass().getResource("/main/folder/icon.png");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM