当我从Eclipse将我的代码导出为可运行的JAR文件时,我设置了抓取像按钮图像和其他文件这样的文件,但它们实际上在JAR文件中却丢失了。我在文件前面添加了getClass().getResource
,但是当我尝试运行JAR文件时,什么都没有发生,有什么建议吗?
看起来你没有将你的文件放在正确的位置。为了使它工作,请按照以下步骤进行:
Project Explorer Tree
中的 Project
。New -> Source Folder
,然后为 Source Folder
提供任意的 Name
。Source Folder
中,比如如果你想要添加图片,则通过 File System
手动访问这个 Source Folder
,创造一个 New Folder
。New Folder
命名为 images
并将你的图片复制到这个 Folder
中。Refresh
,你会发现你添加的内容已经在刷新后显示出来了。现在,为了访问,例如任何一张图片,你会使用:
getClass().getResource("/images/yourImageName.extension");
这将返回一个URL对象。要记住第一个正斜杠,因为无论你的源文件夹中有什么,都可以通过它来访问,简单来说。现在当您运行项目时,此源文件夹的内容将自动添加到bin文件夹中,当您创建可运行的Jar文件时,源文件夹中的内容可以按原样访问。
资源的路径需要正确。
如果"foo.gif"位于JAR文件的根目录下,您必须使用"/foo.gif"来引用它。
如果程序在完全清理和重新构建后正常工作,但在作为JAR文件运行时失败,那很可能是您没有将文件包含在JAR文件中。
正如nIcE cOw所说,您只需要在项目资源管理器树中创建一个源文件夹。 该文件夹中的所有文件都将位于根项目文件夹中。
要引用它们,您必须将项目名称和文件名写成斜杠形式:
getClass().getResource("ProjectName/image.extension");
希望这能帮到你!