2015-05-21 110 views
1

我在遊戲中有四個類; Player.java,Game.java,Island.java和Map.java。基本上它的大量代碼鏈接在這裏然而,我的問題是,我的程序在eclipse中工作正常,但是當我導出爲jar並運行它時,沒有打開,所以我打開它與CMD,它會給出錯誤。Eclipse運行我的程序,但是JAR文件不是

輸入在CMD:

java -jar GameAlliansen.jar 

輸出從CMD:在javax.swing.ImageIcon中線程 「主」 顯示java.lang.NullPointerException

異常。

這是我如何導入我的圖片

island = new ImageIcon(Game.class.getResource("/Island(64x64).png")); 

http://i.imgur.com/dRe2HNz.png那是我的項目

+0

1.文件是否包含在jar文件中? 2.它是否有正確的大寫字母? – kiheru

+0

@ Lurr123看到[這裏](http://stackoverflow.com/questions/8532114/how-to-package-images-into-a-runnable-jar)和[這裏](http://stackoverflow.com/questions/1096398/add-image-to-jar-java) – timato

+0

has * Island(64x64).png *已導出到jar文件中?如果它在jar文件中的位置是什麼? – Blip

回答

2

更改代碼的圖像:

Icon island =new ImageIcon(ImageIO.read(getClass().getResource("/Island(64x64).png"))); 
+0

改變了,同樣的問題在eclipse中起作用,但不是當我在eclipse外運行時作爲可運行的jar – Lurr

0

當您導出,創建一個文件夾在其中你會把你的jar文件,也是圖像島(64x64).png

+0

那麼,我想不需要那樣做,我的意思是簡單地在JAR中包含圖像以便能夠上傳,以便人們可以下載一個文件 – Lurr

1

jar中的路徑是區分大小寫的,而並非所有的文件系統都是(比如Windows使用的只是大小寫保留,而不區分大小寫)。您正試圖加載「Island(64x64).png」,但圖像顯示的實際文件名是「island(64x64).png」。改變這些以匹配。

相關問題