Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日食及;Java:如何在不在src目录下的情况下将文件夹指定为资源_Java_Eclipse_Ant - Fatal编程技术网

日食及;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”)
)。我添加了项目目录作为源文件夹,这似乎有点黑客,但可能不是。