Java Can';找不到资源包异常

Java Can';找不到资源包异常,java,properties,resources,resourcebundle,Java,Properties,Resources,Resourcebundle,我想使用名为strings的资源包,但在MainApplication.java中运行main方法时出现以下错误: java.util.MissingResourceException: Can't find bundle for base name strings, locale de_DE at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564) at java.ut

我想使用名为
strings
的资源包,但在
MainApplication.java
中运行main方法时出现以下错误:

java.util.MissingResourceException: Can't find bundle for base name strings, locale de_DE
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:845)
    at logic.MainApplication.start(MainApplication.java:20) (...)
我的项目结构:

两个文件
strings.properties
strings\u de\u de.properties
存储在与
MainApplication.java
相同的目录中,所有三个文件都位于目录
pi\u display/src/logic/
(IntelliJ将它们放入虚拟的“资源包”目录中,以便更清晰地显示项目结构)

主要类别/方法:

public class MainApplication {
    public static void main(String[] args) {
        Locale locale = Locale.GERMANY;
        ResourceBundle resources = ResourceBundle.getBundle("strings", locale);
        // ...
    }
我已经尝试将文件移动到其他包中,并指定捆绑包的
baseName
(即
logic.strings
或其他包结构,如果我将它们移动到其他位置)


我不明白为什么在给定的
main应用程序
中找不到捆绑包,并且捆绑包文件位于同一目录中。

您可能为捆绑包使用了错误的
baseName
。根据:

使用指定的基名称(默认名称)获取资源束 语言环境和调用方的类加载器


“类装入器”是指从包含已编译类的文件夹中装入的资源。在屏幕截图中,您的资源路径是
src/logic/strings.properties
,因此它应该位于
classes/logic/
文件夹中,并且作为基本名称,您应该使用
logic/strings
(或者
logic/strings.properties
,我不确定)。

这很有效,谢谢!正如您所说的,我的错误是没有将资源包添加到我(已编译)项目的输出目录中。关于最后一句话:
logic/strings
logic.strings
有效,
logic/strings.properties
无效。