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

use*_*741 7 java classpath classloader getresource

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

myClass.getResource("/image.jpg"), 
Run Code Online (Sandbox Code Playgroud)

而image.jpg存在于root loacation"myProject /"中.它返回null.

我检查了很多其他线程,但没有一个解决了我的问题.

所以我试着评估一下:

this.getClass().getResource("/").getPath();
Run Code Online (Sandbox Code Playgroud)

它返回"myProject/build/classes".

所以我检查了这个目录的项目配置,并找到了完全相同的目录

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

我的问题是:

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

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

ang*_*rro 4

您必须将它们放在“src/”文件夹的根目录中;-)

SRC/ 文件夹被编译到 BUILD/CLASSES/,因此您在 src/* 中放入的所有内容都将转到classes/*