导出到可运行 jar 时未加载图像
Images not loaded when exporting to runnable jar
我有一个用 java 编写的贪吃蛇游戏,但是当我将项目导出为 Runnable Jar 时,图像没有加载。他们在日食中工作得很好。有什么问题?
我的 loadImages 方法如下所示:
private void loadImages() {
ImageIcon snakeBlockIcon = new ImageIcon("snake/images/snakeBody20px.png");
snakeBlockImage = snakeBlockIcon.getImage();
snakeBlockImage = snakeBlockImage.getScaledInstance(DOT_SIZE, DOT_SIZE, Image.SCALE_DEFAULT);
...
我的项目结构如下:
(SourceFolder)Projects > (source package) snake > (package) images
(SourceFolder)Projects > (source package) snake > (package) snake > .java 文件
谢谢!
编辑:为post图像赢得足够的代表
Eclipse 不会在 jar 中包含除代码之外的任何其他内容,因此您必须手动添加需要的文件或修改 Eclipse 生成 jar 的方式。
通过首先从 "Generate runnable jar" 屏幕导出 ant 构建文件,然后编辑它以包含您的文件,可以轻松完成第二个选项。
要修改它,找到jar任务,它应该是target元素中name属性为"build_run_jar"(<target name="build_run_jar">
)的第一个元素,并在其中添加以下元素:
<fileset dir="path/to/your/files"/>
将路径替换为包含您的文件的文件夹的相对或绝对路径。
如果您想包含目录中的特定文件,您可以显式包含它们(请注意,这样只会包含您指定的文件):
<fileset dir="your/path"/>
<include name="filename"/>
</fileset>
有关更多信息,您可以阅读 Ant manual about the Jar task
在 jar 中,您需要使用如下代码(类似于 .txt .WAV)访问文件作为资源:
ImageIcon ic = new ImageIcon(getClass().getResource("/machetelife.jpg"));
不知道是不是eclipse打包的不一样。。我一般都是用cmd打包jar文件。
我有一个用 java 编写的贪吃蛇游戏,但是当我将项目导出为 Runnable Jar 时,图像没有加载。他们在日食中工作得很好。有什么问题?
我的 loadImages 方法如下所示:
private void loadImages() {
ImageIcon snakeBlockIcon = new ImageIcon("snake/images/snakeBody20px.png");
snakeBlockImage = snakeBlockIcon.getImage();
snakeBlockImage = snakeBlockImage.getScaledInstance(DOT_SIZE, DOT_SIZE, Image.SCALE_DEFAULT);
...
我的项目结构如下:
(SourceFolder)Projects > (source package) snake > (package) images
(SourceFolder)Projects > (source package) snake > (package) snake > .java 文件
谢谢!
编辑:为post图像赢得足够的代表
Eclipse 不会在 jar 中包含除代码之外的任何其他内容,因此您必须手动添加需要的文件或修改 Eclipse 生成 jar 的方式。
通过首先从 "Generate runnable jar" 屏幕导出 ant 构建文件,然后编辑它以包含您的文件,可以轻松完成第二个选项。
要修改它,找到jar任务,它应该是target元素中name属性为"build_run_jar"(<target name="build_run_jar">
)的第一个元素,并在其中添加以下元素:
<fileset dir="path/to/your/files"/>
将路径替换为包含您的文件的文件夹的相对或绝对路径。
如果您想包含目录中的特定文件,您可以显式包含它们(请注意,这样只会包含您指定的文件):
<fileset dir="your/path"/>
<include name="filename"/>
</fileset>
有关更多信息,您可以阅读 Ant manual about the Jar task
在 jar 中,您需要使用如下代码(类似于 .txt .WAV)访问文件作为资源:
ImageIcon ic = new ImageIcon(getClass().getResource("/machetelife.jpg"));
不知道是不是eclipse打包的不一样。。我一般都是用cmd打包jar文件。