日食及;Java:如何在不在src目录下的情况下将文件夹指定为资源
我有这样一个文件夹树:日食及;Java:如何在不在src目录下的情况下将文件夹指定为资源,java,eclipse,ant,Java,Eclipse,Ant,我有这样一个文件夹树: Project Folder/ src/ *.java resources/ *.png build.xml文件在构建时包含了2个参数,因此一切正常。(从某种意义上说,它将资源文件夹复制到src) 但是,我已经将这个结构导入eclipse,项目崩溃了,因为它找不到它的资源,因为resources文件夹不在它喜欢的src中。我已经通过简单地将资源移动到src并修改build.xml缓解了这个问题,但是我想知道如何让它在ecl
Project Folder/
src/
*.java
resources/
*.png
build.xml
文件在构建时包含了2个参数,因此一切正常。(从某种意义上说,它将资源
文件夹复制到src
)
但是,我已经将这个结构导入eclipse,项目崩溃了,因为它找不到它的资源,因为resources文件夹不在它喜欢的src
中。我已经通过简单地将资源
移动到src
并修改build.xml
缓解了这个问题,但是我想知道如何让它在eclipse中按原样工作
以下是如何加载资源的示例:
public static ImageIcon createIcon(String fname,String desc) {
URL imgURL = new Object().getClass().getResource("/resources/icons/"+fname);
return new ImageIcon(imgURL,desc);
}
您需要将资源文件夹标记为源文件夹。选择项目,右键单击->构建路径->用作源文件夹
在此之后,您可能需要执行完整重建。
项目崩溃,因为它无法找到其资源
请发布您用于访问所述资源的代码。我在一个单独的目录中有资源,它对我来说很好。单击上面的按钮以包含代码的所有相关部分,以便我们可以帮助您调试。@MattClark,您已经拥有了它。谢谢!任何使getResource
调用包含“/resources/xxxxxx.png”的方法都必须包含“/resources/xxxxxx.png”,因为此方法似乎只是将其放在“root”(即getResource(“xxxx.png”)
而不是getResource(“/resources/xxxx.png”)
)。我添加了项目目录作为源文件夹,这似乎有点黑客,但可能不是。