Java Can';t在junit测试期间加载ResourceBundle

Java Can';t在junit测试期间加载ResourceBundle,java,junit,resourcebundle,Java,Junit,Resourcebundle,我正在尝试编写一些Junit测试来测试我们应用程序中的旧类。代码试图加载ResourceBundle(用于翻译),但失败。我猜这个问题与类路径有关,但我无法理解 代码在/src中列出,我的测试在/test中。加载ResourceBundle时,给定相对于/src的基本名称,例如“foo/bar/baz” 我的测试使用与应用程序本身相同的类路径,所以我不明白为什么它找不到包 有什么问题吗?资源不是从源文件夹解析的,而是从类目录解析的。您的资源文件是否已复制到输出文件夹(bin、目标/类等)?如果没

我正在尝试编写一些Junit测试来测试我们应用程序中的旧类。代码试图加载ResourceBundle(用于翻译),但失败。我猜这个问题与类路径有关,但我无法理解

代码在/src中列出,我的测试在/test中。加载ResourceBundle时,给定相对于/src的基本名称,例如“foo/bar/baz”

我的测试使用与应用程序本身相同的类路径,所以我不明白为什么它找不到包


有什么问题吗?

资源不是从源文件夹解析的,而是从类目录解析的。您的资源文件是否已复制到输出文件夹(bin、目标/类等)?如果没有,您的类将找不到它们。

如果您使用的是maven,您通常希望将所有类型的属性文件和资源包放在名为
src/main/resources/
的单独源文件夹中


如果要覆盖单元测试中的值,则可以添加重复的道具。文件位于
src/test/resources
源文件夹中。

您的测试是否在名为
/test
的目录下?如果您临时将ResourceBundle的相对路径更改为绝对路径,问题是否会消失?嗯!当然,我的测试使用的是另一个输出目录,而不是应用程序。这绝对是它。