为class.getResource()定义根类路径

时间:2013-09-30 21:54:31

标签: java classpath classloader getresource

我在Eclipse(windows)中使用java,我正在尝试使用:

myClass.getResource("/image.jpg"), 

虽然image.jpg存在于root loacation“myProject /”中。它返回null。

我查了很多其他帖子,但没有一个解决了我的问题。

所以我试着评估一下:

this.getClass().getResource("/").getPath();

并返回“myProject / build / classes”。

所以我检查了这个目录的项目配置,并在

下找到了完全相同的目录

Java构建路径 - >来源 - >默认输出文件夹

我的问题是:

  1. 为什么我的资源的默认目录是输出文件夹?

  2. 如上所述,我想从另一个文件夹中获取资源,但尝试调用“/../”不起作用...如何加载其他未嵌套在我的类中的资源DIR? (我可以改变我的输出目录,但我认为它会非常难看......)

1 个答案:

答案 0 :(得分:4)

你必须把它们放在" src /"的根目录中。文件夹; - )

SRC /文件夹被编译为BUILD / CLASSES /,所以你在src / *中的所有内容都转到了类/ *