编程语言
首页 > 编程语言> > 如何从Java 9中的另一个模块获取ResourceBundle?

如何从Java 9中的另一个模块获取ResourceBundle?

作者:互联网

我有两个模块:module-a和module-b. Module-a具有属性文件(com / foo / texts_en.properties). Module -a导出com.foo包.在module-b中我想获得这个资源.为此,我在module-b中执行以下操作:

Module moduleA = ClassFromModuleA.class.getModule();
ResourceBundle resourceBundle = ResourceBundle.getBundle("com/foo/texts",
                Locale.ENGLISH, moduleA.getClassLoader());
System.out.println("TEST :" + resourceBundle.getString(key);

这就是我得到的:

Caused by: java.util.MissingResourceException: Can't find bundle for base name com/foo/texts, locale en
    at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2045)
    at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1679)
    at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1572)
    at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:1273)

我的错是什么?

解决方法:

ResourceBundle中的“命名模块中的资源包”部分提供了有关命名模块中的资源如何定位的详细信息.

标签:java,java-9,java-module
来源: https://codeday.me/bug/20190705/1390314.html