當我從eclipse將我的代碼作爲可運行JAR導出時,我已將它設置爲抓取的所有文件(如按鈕圖像和其他文件)都丟失,即使它們實際上位於JAR中。我在文件前添加了getClass().getResource
,但是當我嘗試運行JAR時甚至沒有發生任何建議?可運行JAR缺少圖像/文件(資源)
7
A
回答
21
好像你沒有把你的東西放在正確的意義上。爲了使其工作,請按照下列步驟操作:
- 右鍵單擊您在
Project
Project Explorer Tree
。 - 前往
New -> Source Folder
,然後將Name
提供給Source Folder
。 - 現在手動將您的東西添加到您創建的
Source Folder
,就像您想添加圖片,然後製作New Folder
一樣,通過手動訪問此Source Folder
到File System
。 - 將此名稱命名爲
New Folder
爲images
並將您的圖像複製到此Folder
。 - 現在回到您的Eclipse IDE和
Refresh
您的Project
從項目瀏覽器,通過右鍵單擊您的項目,在這裏你可以看到你刷新後添加的內容。
現在爲了訪問,說任何圖像,你會使用。
getClass().getResource("/images/yourImageName.extension");
這將返回一個URL對象。請記住first forward slash
,在這種情況下,因爲您的源文件夾中的任何內容都可以用簡單的術語在此幫助下訪問。現在當你運行你的項目時,這個源文件夾的內容將被自動添加到bin文件夾中,當你創建一個Runnable Jar的時候,你可以按原樣訪問源文件夾中的東西。
1
該路徑需要適合該資源。
對於「foo.gif」位於jar的根部,您必須使用「/foo.gif」來引用它。
如果程序在徹底清理並重建後正常工作,但作爲jar失敗,那麼很可能沒有包含在jar中的文件。
0
嘗試將文件夾放在jar中的方式與您在程序中獲取它們的方式相同。將相同的資源放在項目中的相同位置。該jar將以與編譯器相同的方式引用它們。
0
您需要使用像這樣的流獲取圖像 - this.class.getClassLoader()。getResourceAsStream(「test.jpg」)並確保圖像存在於您引用的jar中。
0
由於nIcE cOw表示,您只需要在您的Project Explorer樹中創建一個源文件夾。 該文件夾內的所有文件都將位於根項目文件夾中。
要引用它們,你必須寫你的名字的項目,因爲它削減的文件名:
getClass().getResource("ProjectName/image.extension");
我希望這有助於!
相關問題
- 1. 缺少JAR資源包含TLD
- 2. 缺少資源
- 3. 缺少資源
- 4. 可運行jar文件找不到資源
- 5. 資源缺少C#
- 6. Java缺少資源
- 7. 可執行JAR中缺少文本文件? (Java-Eclipse)
- 8. Jar文件資源不可用?
- 9. Eclipse可執行jar文件資源文件
- 10. Process.StartInfo運行資源文件
- 11. laravel中缺少Auth資源
- 12. 缺少資源包com.adobe.flex.framework:playerglobal:rb.swc:ko_KR:4.5.1.21328
- 13. Dbpedia-Spotlight缺少資源
- 14. 缺少:在創建資源
- 15. 處理缺少的資源
- 16. Maven Eclipse插件缺少.jar文件
- 17. Grails 2.0:運行多個實例時缺少資源
- 18. 將圖像添加到項目資源文件夾運行時
- 19. 在運行時在資源文件夾下保存圖像
- 20. 可運行jar文件無法運行
- 21. ERROR ITMS-90644: 「缺少圖像資源的Xcode 8.3.1
- 22. 在運行時從Jar文件加載資源
- 23. 從intellij想法運行時使用jar文件資源IDE
- 24. 我的資源文件夾,應與運行的JAR?
- 25. 將圖像加載到Jar文件中java.lang.RuntimeException:找不到資源
- 26. jar文件中的圖像資源出錯
- 27. 包括可運行jar文件中的源文件
- 28. java - 無法將圖像導出到可運行jar文件中
- 29. 資源與Eclipse和運行的JAR
- 30. 找不到資源運行的JAR
請向我們展示一些實際的代碼,以及顯示路徑的JAR文件的內容列表。 – ziesemer