如何从Java 9中的另一个模块获取ResourceBundle? [英] How to get ResourceBundle from another Module in Java 9?

查看:550
本文介绍了如何从Java 9中的另一个模块获取ResourceBundle?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have two modules: module-a and module-b. Module-a has properties file (com/foo/texts_en.properties). Module-a exports com.foo package. In module-b I want to get this resource. For this I do the following in 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 提供了有关命名模块中资源的详细信息。

The "Resource Bundles in Named Modules" section of ResourceBundle provides the details on how resources in named modules are located.

这篇关于如何从Java 9中的另一个模块获取ResourceBundle?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆