java - 按名称加载 ResourceBundle
问题描述
从命名模块内部,如何通过资源包的名称获取包含在(可能不同的)命名模块中的资源包?我将如何实现类似的东西ResourceBundle getResourceBundle(String bundleBaseName, String moduleName)
?
我知道在一些特殊情况下的答案:
- 包含在与加载器代码相同的模块中的资源包可以使用
ResourceBundle.getBundle(bundleBaseName)
. - 如果在编译时已知
bundleBaseName
,例如“com.vendor.bar.BarResource”,则提供程序模块可以执行,加载程序模块可以执行并加载资源包。provides com.vendor.bar.spi.BarResourceProvider with com.vendor.bar.spi.BarResourceProviderImpl
uses com.vendor.bar.spi.BarResourceProvider
ResourceBundle.getBundle("com.vendor.bar.BarResource")
我知道通过名称获取某些内容是一项可能失败的操作。但是,当资源包包含在作为应用程序一部分的模块中时,我希望能够加载它。
解决方案
推荐阅读
- php - 如何在 PHP 数组/JSON 对象中打印第 n 个元素?
- php - Symfony3:每 24 小时执行一次代码
- typescript - 使用 angular-cdk 的 coerceBooleanProperty() 为布尔属性输入定义 getter 和 setter 时,使用 Type 的首选方法是什么?
- yaml - 如何引用相对于启动文件的 Yaml 文件?
- javascript - 组件中缺少历史记录
- actions-on-google - dialogflow-fulfillment-nodejs 不支持哪些 Actions on Google 功能?
- ibm-cloud-infrastructure - 无法使用 Softlayer 映像订购暂停计费的 IBM Cloud 虚拟服务器
- javascript - nodejs中未调用Angular 5 http post方法
- java - 将文本字段中的特定字段值与固定一个值的 mysql 列值进行比较
- javascript - 我应该使用什么方法来计算 JavaScript 中子类的实例?