IntelliJ:向类路径添加资源,但仍然给我“java.util.MissingResourceException:找不到bundle .... locale en_US”

时间:2012-06-21 03:12:20

标签: java intellij-idea classpath resourcebundle

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

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

在做了一些调查后,似乎我必须在类路径中包含资源,这是正确的吗?

我完成了项目设置,模块,依赖项,并添加了“Jars或目录”

有一个复选框,上面写着导出,我试过点击它并取消点击它: - )

我能看到的资源在

  

i8n \的ResourceBundle

我尝试添加i8n,它问我选择文件的类别,我把类

RUN - 但仍然是同样的错误..

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

RUN - 仍然是同样的错误。

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

C:\开发\爪哇\ openfire_src_3_7_1 \ openfire_src \ SRC \ I18N \ openfire_i18n_en.properties

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

所以一切都很好。

任何人都可以提供帮助

我真的被困了

由于

修改

我也注意到在propeties和COMPILER下我有以下内容,那么它应该包含这些文件吗?

?*.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

DEBUG

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

locale = en_US

resourceBaseName = openfire_i18n

Locale locale = JiveGlobals.getLocale();

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

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我在安装openfire 3.9期间解决了同样的问题

您需要执行以下任务..

打开'运行配置' 点击' classpath'标签 然后进入高级'选择'添加文件夹' 然后选择' i18n'来自openfire / src /

按照相同的流程添加' jar'来自openfire / src / resources的文件夹 和' dist'来自openfire / build / lib的文件夹

enter image description here

答案 3 :(得分:0)

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