Junit + getResourceAsStream返回Null


问题内容

不知道这怎么可能。我重新阅读了getResourceAsStream,它始终返回null。

InputStream source = this.getClass().getResourceAsStream("test.xml");

在Finder中(使用OS X和Eclipse),在test.java的旁边是test.xml

我可以在TextWrangler中打开它,并查看其中是否存在数据。

如果有什么不同,这是Junit测试。我去查看了系统上现有的Junit测试,并以与工作示例完全相同的方式来使用它(如文件所在的位置和代码本身)。

我认为getClass()返回正确的路径有什么小的区别?

谢谢!


问题答案:

getResourceAsStream()正在使用CLASSPATH,因此它将从 您的类所在的位置 (而不是源文件)加载。

我怀疑您需要将XML复制到与.class文件相同的目录中。