gpt4 book ai didi

java - 找不到资源包异常

转载 作者:行者123 更新时间:2023-12-01 14:21:30 24 4
gpt4 key购买 nike

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

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) (...)
我的项目结构:
project structure
两个文件 strings.propertiesstrings_de_DE.properties存储在与 MainApplication.java 相同的目录中并且所有三个文件都在目录 pi_display/src/logic/ 中(IntelliJ 将它们放入一个虚拟的“Resource Bundle”目录中,以便更清晰地显示项目结构)。
主要类/方法:
public class MainApplication {
public static void main(String[] args) {
Locale locale = Locale.GERMANY;
ResourceBundle resources = ResourceBundle.getBundle("strings", locale);
// ...
}
我已经尝试将文件移动到其他包并指定 baseName包(即 logic.strings 或其他包结构,如果我将它们移到别处)。
我不明白为什么在给定 MainApplication 的情况下找不到捆绑包并且捆绑文件位于同一目录中。

最佳答案

你可能用错了baseName为您的捆绑。根据 documentation :

Gets a resource bundle using the specified base name, the defaultlocale, and the caller's class loader


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

关于java - 找不到资源包异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48184900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com