将项目导出到 jar 时遇到问题。当我在 Eclipse 中运行项目时,ResourceBundles 工作正常,但不是从 jar 中运行。我将其导出为 Export -> jar 文件。
我在 (Windows) cmd -> java -jar %projectName%.jar 中启动 jar。资源包是:
- Eclipse:%projectName% -> src -> 语言
- 在罐子里:文件夹语言。
我这样加载它:
ResourceBundle.getBundle("language.Language", currentLocale)
我在 Stackoverflow 上查看了很多关于此的其他问题,他们的问题始终是他们没有提供从根目录开始的路径。我不知道为什么这不起作用。我也尝试将这些 .properties 文件放在根目录下......
注意:管理这些包/语言环境的类也在同一个包中。
提前致谢。
编辑:也许一些额外的信息,我这样得到字符串:
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
....