プロジェクトを jar にエクスポートするときに問題が発生します。ResourceBundles は、プロジェクトを Eclipse で実行すると正常に動作しますが、jar からは動作しません。Export -> jar fileとしてエクスポートしました。
(Windows) cmd -> java -jar %projectName%.jar で jar を開始します。ResourceBundle は次のとおりです。
- Eclipse: %projectName% -> src -> 言語
- jar: フォルダー内の言語。
そして、私はそれをこのようにロードします:
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
....