MissingResourceException, когда модуль A получает класс модуля B и выполняет для него функцию getBundle () с загрузчиком классов этого класса B - PullRequest
0 голосов
/ 07 сентября 2018

В течение долгого времени я использовал класс с именем Anomaly , который использовался моими бизнес-объектами для возврата любой бизнес-ошибки или предупреждения, которые они обнаружили на себе, путем некоторой быстрой автоматической проверки. " Я - Город, в котором нет населения, нет плотности населения ... ".

Я разработал базовый класс в модуле maven, который из ключа параметра и некоторых аргументов, в конце концов, вызвал функцию getBundle, чтобы использовать ее результат и отправить предупреждение / сообщение об ошибке:

ResourceBundle.getBundle(businessObject.getClass(), Locale.getDefault(), businessObject.getClassLoader());

С тех пор, как появилась Java 10 (у меня не было Java 9), я сохранил этот модуль maven в модуле Java:

module A {
   exports myPackageA;
}

И теперь у меня проблема: у меня есть класс бизнес-объектов в модуле B, который использует A в случае аномалии.

module B {
   exports myPackageB;
   requires myPackageA;
}

Но когда

ResourceBundle.getBundle(businessObject.getClass(), Locale.getDefault(), businessObject.getClassLoader());

теперь вызывается в модуле A, учитывая класс из модуля B, он не может найти ожидаемый пакет ресурсов. И это заканчивается MissingResourceException , и мои программы завершаются сбоем, как только я их компилирую, во время тестирования.

Как правильно делать вещи сейчас? Большое спасибо!

...