java - 导出 JAR 源图像

标签 java eclipse image executable-jar

我有一个模仿 flappybird 的 Java GUI 游戏,我正在尝试将其导出到其他计算机。我对在代码中设置相对/绝对路径的内容感到困惑;或者使用什么方法将所有内容打包到 JAR 文件中进行部署。

我在同一项目中创建了一个新的源文件夹,其中包含我的代码的所有图像。我尝试将“ImageIO.read”或“getClass().getResource()”指向源文件夹。我还尝试在链接资源下创建路径变量以指向图像的位置 如果我指向图像的绝对路径,我只能让我的游戏运行,这不好。

如何指向正确的资源文件夹来访问我的图像,以便我的程序在多台计算机上运行?

这些是当我尝试将路径更改为相对路径时出现的错误: - 无法读取输入 -null 或 nullpointerException

这是我的代码, 评论部分是我从多次谷歌搜索和多个SO答案中尝试过的内容。 未注释的部分是唯一运行的代码,这是我不想要的。

enter image description here

谢谢大家的建议~

最佳答案

您有几个问题/疑问,必须按以下顺序解决: 1)更改文件夹结构。 2)打包jar文件 3) 访问图像。 (3) 在 (2) 之前不起作用,并且 (2) 在 (1) 之前不(合理)。

1)为了您的目的,请停止将java源文件和图像文件如此不同地对待。将它们放在 eclipse 中的一个包(文件夹)中,或者放在子包中。 2)右键单击项目并选择导出。选择 jar 并选择名称和所有文件。 3)图片的路径为包名+文件名,点用斜杠代替(例如com/flappy/game/images/bird.gif)。使用疯狂程序员的 imageio read 命令来获取图像。

关于java - 导出 JAR 源图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280997/

相关文章:

image - 保存和加载图像到isolatedStorage需要保存两次

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - Tika 1.14 : getting java. PDFTextStripper 的 lang.NullPointerException

Eclipse - 转换为 Maven 项目

eclipse - 如果我想转换 eclipse 项目以开始使用 maven2,我需要做什么?

css - 从桌面更改为移动时如何调整(裁剪)图像

java - ubuntu 使用什么外观?

java - 无法使用 org.eclipse.paho.client.mqttv3 连接到 Azure IOT MQTT

java - Android url.openstream() 抛出 fileNotFound

php - .JPEG .JPG 高质量图像不在 PHP HTML 中上传