2015-05-21 69 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”。改变这些以匹配。

相关问题