我在Java的一个项目中工作,有时我的所有图像都会从项目的bin文件夹中随机消失。它变得非常烦人,因为每次它发生的时候我都必须把所有的东西都放上一遍。有人告诉我,我不应该把多余的文件放在bin里,而应该放在src里。但是,如果我将图像放入src中,eclipse就不会读取它们,就好像它们不在那里一样。为什么会发生这种情况?谢谢。
发布于 2011-08-28 04:48:48
创建一个resources
文件夹并将它们放在那里。然后将该文件夹标记为“源文件夹”(右键单击-> Build Path -> Use as source folder)
发布于 2014-01-27 15:10:23
遵循以下两个步骤。我在Eclipse Kepler中工作得很好。
Java
i.用鼠标右键单击您的Java项目,然后执行:New -> Source Folder
。在本例中,我将我的文件夹命名为"res“。
二、转到文件浏览器,您应该会在Java项目的根文件夹下看到这个"res“文件夹。现在,将您的图像和其他资源文件复制或移动到其中。
三、现在转到Eclipse,右键单击这个"res“文件夹,然后执行: Refresh。您应该会看到这些文件显示在其中。
四.现在构建项目,您应该看到您的资源文件被复制到构建目标"bin“文件夹中。
this
所指示的),您可以访问资源文件,并注意到前导的"/”,以指示文件相对于二进制根的位置:图像img =新ImageIcon(this.getClass().getResource("/MyImage.gif")).getImage();
另一个注意事项:您可以使用多个这样的资源文件夹来组织资源。在项目构建之后,它们都会进入构建目标根目录"bin“文件夹。当然,您可以将您的项目导出为"Runnable Jar File",然后您可以独立运行应用程序,因为所有资源都会自动打包到您的jar文件中。
发布于 2011-08-28 04:48:24
您不应该将它们放在bin
目录中-该目录应该被视为仅用于输出的目录,该目录随时都可能被擦除。
如果您使用Class.getResource()
或ClassLoader.getResource()
(或类似的API),那么我希望它在src
目录或构建路径上的任何其他地方都能正常工作(假设是默认设置)。不过,您应该检查设置。
除非
>编译器>构建首选项页面中的设置指定过滤资源,否则源文件夹中的资源将被复制到输出文件夹中。输出文件夹是按项目定义的,除非源文件夹指定了自己的输出文件夹。
所以你需要检查“构建”首选项页面,看看你是否过滤掉了资源。如果您在构建之后查看bin目录,您应该能够看到它们。
请注意,您可能希望将资源放在它们自己的目录中以便于组织-这很好,您可以在src
目录中执行此操作,也可以通过在构建路径上创建另一个目录来执行此操作。
https://stackoverflow.com/questions/7217228
复制相似问题