gpt4 book ai didi

java - 找不到资源包 java.util.PropertyResourceBundle,sc.title

转载 作者:行者123 更新时间:2023-11-30 07:48:07 25 4
gpt4 key购买 nike

我使用 Eclipse Oxygen.2 Release (4.7.2) 并尝试开发一个笔和纸角色创建程序作为练习来学习使用不同的文件,如 xml 和属性。

我的 ResBundle.properties 文件如下所示:

cc.male=male
cc.female=female
cc.askForGender=Choose a gender for your hero

sc.btnStart=Start\n Creation
sc.title=Creation of a Setting
sc.creationProps=Creation Properties
sc.creationPropsComment=Properties for character creation

它更长,有 60 行代码,与显示的部分相似。我的主要 JFrame 使用如下所示的文件:

JMenuItem mntmNewchar = new JMenuItem(lang.getString("gui.char.new"));

我用来创建新角色/世界的第二个 JFrame 具有相同的代码。例如:

setTitle(lang.getString("sc.title"));

我仍然得到异常:

Can't find resource for bundle java.util.PropertyResourceBundle, key sc.title

我的主要方法:

try {
lang = ResourceBundle.getBundle("ResBundle", new Locale("en"));
} catch(MissingResourceException e) {
e.printStackTrace();
}
mainFrame = new MainFrame();
mainFrame.setVisible(true);

我找到的这个问题的大多数答案都涉及相同的异常。但他们只告诉我如何将属性文件移动到我的源 foulder/类路径文件夹中。我之前有异常并移动了文件,所以现在它位于文件夹 lib/lang 中,我将其作为源文件夹(使用 Eclipse)添加到我的构建路径中。之后,我可以继续编程,直到收到上述异常消息。

当我只使用另一个键进行测试时,它可以工作。我试图在属性文件和我的程序中重命名该键,但异常仍然发生。

最奇怪的是,它已经起作用了。我可以通过一个按钮和同一个键打开第二个 JFrame!,这意味着

"sc.title"

和我在第二个 JFrame 中使用的其他键没有抛出异常。在对其他 swing 组件进行一些调整后,由于该异常,我无法再启动我的程序。

我发现了这个类似的问题:

java.util.missingresourceexception: Can't find resource for bundle java.util.ResourceBundle, key

我在第一行插入了一个换行符,但这没有任何改变。我还发现了 6 个月前提出的一个问题,但仍然没有答案。仍然是我遇到的同样问题:

Java - ResourceBundle Can't find resource for bundle java.util.PropertyResourceBundle

我希望有人能帮助我或描述一下,为什么 JVM 找不到 key 。我认为我拥有正确的属性文件结构,但我不知道为什么它不起作用。

非常感谢所有能帮助我或多或少的人。


编辑(回答@arthur):

我当前的文件夹结构-根文件夹:

fodler tree

lib/lang/ResBundle.properties

Eclipse 告诉我,我包含了如下文件夹

  • 我的 java 项目的 Eclipse 属性。显示“Java 构建路径”选项卡

Eclipse properties for my java project. The tab "Java Build Path" ist shown

最佳答案

我发现了我的错误,对于我发布了一个具有如此简单解决方案的问题,我深感抱歉。我检查了使用资源包 key 并且不起作用一百次的行,但现在我注意到,我对括号感到困惑。应该是

String str = ResourceBundleVariable.getString("key");

我犯了一个错误,我将 getString 方法返回后的字符串包含在 getString 方法本身的括号中。它通过这种方式搜索 key :“key:” 而不是正确的 key :“key”。我的错误代码:

String str = ResourceBundleVariable.getString("key"+": "); //ATTENTION Code not operating as intended

现在按预期工作的正确代码:

String str = ResourceBundleVariable.getString("key")+": ";

关于java - 找不到资源包 java.util.PropertyResourceBundle,sc.title,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49449092/

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