如何从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