How to get ResourceBundle from another module in Java 9?

I have two modules: module-a and module-b. Module-a has a properties file ( com/foo/texts_en.properties). Module - exports a package com.foo. In module-b, I want to get this resource. To do this, I do the following in the -b module:

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

This is what I get:

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)

What's my mistake?

+2
source share
1 answer

The "communication resources in modules named" the ResourceBundle contains information about how resources are located in the named modules.

+2
source

Source: https://habr.com/ru/post/1686245/


All Articles