J'ai deux modules: module-a et module-b. Module-a a un fichier de propriétés (com/foo/texts_en.properties
). Module-a exporte le package com.foo
. Dans le module-b je veux obtenir cette ressource. Pour cela, je fais ce qui suit dans le module-b:Comment obtenir ResourceBundle d'un autre module dans Java 9?
Module moduleA = ClassFromModuleA.class.getModule();
ResourceBundle resourceBundle = ResourceBundle.getBundle("com/foo/texts",
Locale.ENGLISH, moduleA.getClassLoader());
System.out.println("TEST :" + resourceBundle.getString(key);
Voici ce que je reçois:
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)
Quelle est mon erreur?
Maintenant que Java 9 a été publié, vous devez créer un lien vers la [localisation permanente] de javadoc (http://docs.oracle.com/javase/9/docs/api/) pour que le lien soit valide pendant des années. viens. – VGR
@VGR J'ai édité. Ma faute. –