2012-09-19 65 views
4

我已瀏覽#1整天尋找如何做到這一點,我都沒有成功尚未包括與可執行的JAR

我包裝快速遊戲我做成一個可執行的JAR文件,但我沒有引用圖片圖像正確我只是引用的文件

background = ImageIO.read(new File("wood.jpeg")); 

我有我的班在SRC默認包 林不知道我應該在哪裏添加圖片,或者如果我必須將它添加到構建路徑 或添加的正確方法圖像到最新版本的eclipse中的構建路徑

回答

12

Jar中的文件不是磁盤上文件意義上的文件。它們只是一個(可能)壓縮的字節流。

的Java可以很容易地通過使用的ClassLoader

background = ImageIO.read(getClass().getResource("/wood.jpeg")); 

工作應該從中提取.jar文件,這些「資源」 ......

這將返回一個URLImageIO可用於加載資源。

你也可以有

讀,我可以列出更多一些。所以,是的,它被問了很多;)

+2

+1非常簡單的解釋,但你也應該提到圖像在項目中的位置。例如src/main/resources讓maven取得。 – asgs

+2

另見[embedded-resource info。頁面(http://stackoverflow.com/tags/embedded-resource/info)。 –

+0

@asgs沒有看到提及的Maven嗎?尼斯點雖然 – MadProgrammer

0

嘗試使用Constructing Runnable Jar使用Eclipse。

R_Click on the Project in the Package Explorer ---> 
Export ---> Runnable JAR file ---> 
Select the option of Package required libraries into generated JAR 
+3

這個選項指的是庫而不是資源,它沒有解決嘗試加載zip條目的問題,就好像它是'File'一樣。 –