将项目导出到jar时出现问题。当我在Eclipse中运行项目时,ResourceBundles工作正常,但不是来自jar。我将其导出为Export - > jar文件。
我在(Windows)cmd中启动jar - > java -jar%projectName%.jar。 ResourceBundles是:
我以这种方式加载它:
ResourceBundle.getBundle("language.Language", currentLocale)
我在Stackoverflow上查看了很多关于此问题的其他问题,他们的问题始终是他们没有从根提供路径。我不知道为什么这不起作用。我尝试将这些.properties文件也放在root ...
注意:管理这些bundle / locales的类也在同一个包中。
提前致谢。
编辑:也许是一些额外的信息,我这样得到了字符串:
public static String getString(String key) {
try {
return ResourceBundle.getBundle("language.Language", currentLocale)
.getString(key);
} catch (MissingResourceException e) {
return "KEY " + key + " NOT FOUND !";
}
}
堆栈跟踪:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle
for base name language.Language, locale nl_be
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at language.LanguageModel.getString(LanguageModel.java:33)
at cli.class.method(class.java:35)
at main.Main.main(Main.java:26)
属性:
Language_en_US.properties
Language_fr_FR.properties
Language_nl_BE.properties
....
答案 0 :(得分:3)
您在ResourceBundle.getBundle()
参数中传递的区域设置将其国家/地区设置为“be”。它应该设置为“BE”。
您还应考虑使用仅包含langage代码后缀的属性文件,并且根本没有后缀的备份包: