src/java
src/resource/foo/messages.xml
messages_fr.xml
ResourceBundle bundle = ResourceBundle.getBundle("foo.messages", Locale.ENGLISH);
錯誤:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name foo.messages, locale en
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1581)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:854)
如果它們是 *.properties,則沒有問題。
如何加載 XML 資源包?
uj5u.com熱心網友回復:
默認情況下,Java SEResourceBundle.getBundle(...)只理解作為 Java 類或“.properties”檔案實作的資源包的加載。
如果ResourceBundle要從 XML 檔案加載,則需要提供自定義ResourceBundle.Control實作來實作資源搜索和加載策略。
ResourceBundle.Control javadocs中有一個例子;尋找“示例 2”。
我簡單地搜索了一個 XMLResourceBundle提供程式的 3rd-party 實作,但我找不到任何通用的東西。
(無論如何,詢問建議是題外話。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/447879.html
