首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找不到资源包异常

找不到资源包异常
EN

Stack Overflow用户
提问于 2018-01-10 10:08:05
回答 1查看 6K关注 0票数 4

我想使用一个名为strings的资源包,但是在MainApplication.java中运行我的主要方法时会出现以下错误

代码语言:javascript
复制
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.propertiesstrings_de_DE.properties存储在与MainApplication.java相同的目录中,所有三个文件都存储在pi_display/src/logic/目录中(IntelliJ将它们放入虚拟的"Resource“目录中,以便更清晰地显示项目结构)。

主要类别/方法:

代码语言:javascript
复制
public class MainApplication {
    public static void main(String[] args) {
        Locale locale = Locale.GERMANY;
        ResourceBundle resources = ResourceBundle.getBundle("strings", locale);
        // ...
    }

我已经尝试将文件移动到其他包中,并指定包的baseName (即logic.strings或其他包结构(如果我将它们移到其他地方)。

我不明白为什么在给定MainApplication时无法找到包,而包文件位于同一个目录中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-10 10:36:38

您可能在包中使用了错误的baseName。根据文档

使用指定的基本名称、默认区域设置和调用方的类加载器获取资源包。

“类加载器”是指从带有已编译类的文件夹中加载的资源。在屏幕截图中,您的资源的路径是src/logic/strings.properties,所以它应该位于classes/logic/文件夹中,并且作为baseName,您应该使用logic/strings (或logic/strings.properties,我不确定)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48184900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档