为什么我的图像即使在Eclipse中也没有显示在可执行jar中?

时间:2019-04-26 12:05:31

标签: java image executable-jar embedded-resource javax.imageio

我正在制作游戏,我需要显示图像以使游戏可以玩。为了显示这些图像,我使用ImageIO.read,并且在Eclipse中运行代码时所有图像都可以正常显示。我使用的图像作为我的主类放在一个单独的文件夹中,但我在构建路径中将此文件夹设置为源文件夹。

我尝试使用getClass().getClassLoader().getResource("image.jpg")main.class.getResource("image.jpg"),我尝试编写/image.jpg,对于Runnable Jar文件,我尝试提取库并打包库,所有这些东西在Eclipse中都可以正常工作,但在JAR文件中却不行。

我当前的代码如下:

File prisonCellFile = new File(main.class.getResource("cellule.jpg").getURI());               

prisonCell = ImageIO.read(prisonCellFile);

除了图像以外,其他所有内容在jar文件中都可以正常工作,我看到图像已导出到jar文件中,但是它们没有显示出来...您知道我做错了吗?

2 个答案:

答案 0 :(得分:-1)

感谢安德鲁·汤普森(Andrew Thompson)的评论,我终于使它起作用了。我只是改变了:

 File prisonCellFile = new File(main.class.getResource("cellule.jpg").getURI());

进入:

URL prisonCellFile = main.class.getResource("cellule.jpg");

答案 1 :(得分:-2)

您需要使用:

File prisonCellFile = new main.class.getResource("cellule.jpg").getFile());