未找到ResourceBundle密钥

时间:2018-06-04 08:50:08

标签: java maven resourcebundle java-10

我目前正在开展多语言项目。我将资源文件存储在文件夹res/i18n/Language中,并使用此方法获取当前区域设置的包:

public static ResourceBundle getResourceBundle() {
    Locale currentLocale = new Locale(Locale.getDefault().getLanguage());
    return ResourceBundle.getBundle("i18n/Language", currentLocale);
}

一切正常。但是我也有一个多语言的库,它的资源使用相同的结构。

现在,当我在具有多语言System.out.println()的内容上调用toString()时,即使该密钥存在,应用程序也会以MissingResourceException崩溃。有关资源包的所有测试均通过。

我现在已经将库中的文件夹从res/i18n/Language重命名为res/i18n-l/Language,重新打包了罐子,并猜测是什么,现在一切正常。

我调用ResourceBundle的方式是否存在根本问题。我也问过我的大学教授,他说这不应该发生......有没有人以前遇到过这个问题,还是应该用不同的方式写这个方法?

项目及其库在Java 10下用maven打包

0 个答案:

没有答案