【问题标题】:Eclipse run my program well however JAR-file does notEclipse 可以很好地运行我的程序,但是 JAR 文件不能
【发布时间】:2015-08-03 03:49:47
【问题描述】:

我的游戏中有四个课程; Player.java、Game.java、Island.java 和 Map.java。基本上它有很多代码可以在这里链接但是我的问题是我的程序在 eclipse 中运行良好但是当我导出为 jar 并运行它时没有打开任何东西所以我用 CMD 打开它并且它给出了错误。

在 CMD 中输入:

java -jar GameAlliansen.jar

来自 CMD 的输出:

javax.swing.ImageIcon 处的线程“main”java.lang.NullPointerException 中的异常。

这就是我导入图像的方式

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

http://i.imgur.com/dRe2HNz.png这是我的项目形象

【问题讨论】:

  • 1.文件是否包含在 jar 中? 2. 大小写是否正确?
  • @Lurr123 见herehere
  • Island(64x64).png已经导出到jar文件中了吗?如果它在 jar 文件中的位置是什么?
  • 更多例子here.
  • 我会发布我的组织是如何完成的。

标签: java eclipse swing jar nullpointerexception


【解决方案1】:

将代码改为:

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

【讨论】:

  • 已更改,同样的问题在 eclipse 中有效,但当我在 eclipse 之外作为可运行 jar 运行时则无效
【解决方案2】:

jar 中的路径区分大小写,但并非所有文件系统都区分大小写(例如 Windows 使用的路径只是保留大小写,不区分大小写)。您正在尝试加载“Island(64x64).png”,但图像显示实际文件名是“island(64x64).png”。更改这些以匹配。

【讨论】:

    【解决方案3】:

    当你导出它时,创建一个文件夹,你将在其中放置你的 jar 文件和图像 Island(64x64).png

    【讨论】:

    • 好吧,我不想这样做,我的意思是简单地在 JAR 中包含图像以便能够上传它,这样人们就可以只下载一个文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2019-07-29
    相关资源
    最近更新 更多