1

我对 intellij 很陌生,我已经加载了一个我希望编译的项目,一切似乎都很顺利,但是当我编译它时。我得到了找不到捆绑包。

java.util.MissingResourceException: Can't find bundle for base name openfire_i18n, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)

经过一番调查,看来我必须在类路径中包含资源,这是正确的吗?

我已经完成了项目设置、模块、依赖项,并添加了一个“罐子或目录”

有一个显示导出的复选框,我尝试单击它并取消单击它:-)

我可以看到的资源在

i8n\ResourceBundle

我尝试添加 i8n,它要求我为所选文件提供一个类别,我放了类

运行 - 但仍然是同样的错误..

所以我尝试添加 i8n/ResourceBundle 目录

运行 - 仍然是同样的错误。

我注意到在我的 ResourceBundle 目录下有

C:\Dev\Java\openfire_src_3_7_1\openfire_src\src\i18n\openfire_i18n_en.properties

但没有具体的 en_US 但我认为它应该回退到 EN ??

所以我认为一切都很好。

谁能帮忙

我真的被困住了

谢谢

编辑

我还注意到在属性和编译器下我有以下内容,所以它应该只包含这些文件吗?

?*.properties;?*.xml;?*.gif;?*.png;?*.jpeg;?*.jpg;?*.html;?*.dtd;?*.tld;?*.ftl

更多信息

我刚刚添加了这个文件,所有其他文件都是相同的错误

C:\Dev\Java\openfire_src_3_7_1\openfire_src\src\i18n\openfire_i18n_en_US.properties

调试

下面是“ResourceBundle bundle = ResourceBundle.getBundle(resourceBaseName, locale);”这一行 这就是它出错的地方。

语言环境 = en_US

resourceBaseName = openfire_i18n

Locale locale = JiveGlobals.getLocale();

ResourceBundle bundle = ResourceBundle.getBundle(resourceBaseName, locale);

return getLocalizedString(key, locale, null, bundle);
4

4 回答 4

1

您应该在 Module Sources 选项卡设置中将openfire_src\src\i18n目录定义为Sources,以便.properties文件出现在输出根目录中(以及类路径的默认包中)。

于 2012-06-21T10:48:36.713 回答
0

我在设置 openfire 3.9 期间解决了同样的问题

你需要执行以下任务..

打开“运行配置”单击“类路径”选项卡,然后在“高级”中选择“添加文件夹”,然后从 openfire/src/ 中选择“i18n”

遵循相同的过程并从 openfire/src/resources 添加“jar”文件夹,从 openfire/build/lib 添加“dist”文件夹

在此处输入图像描述

于 2014-11-11T06:52:39.657 回答
0

作为 CrazyCoder 的附录:资源应该是源文件夹。它不能是测试源文件夹。

于 2012-12-20T14:31:36.470 回答
0

在较新版本的 IntelliJ 中,您可以右键单击并选择“将目录标记为”>“资源根目录”。这里有更详细的解释。

于 2017-11-12T21:25:43.160 回答