Проблема с загрузкой необходимых модулей библиотеки при загрузке модуля приложения в новом ModuleLayer - PullRequest
1 голос
/ 27 апреля 2019

Я пытаюсь создать новый слой (отличный от загрузочного уровня) и загрузить модуль Java (ModuleA) по указанному в нем пути к каталогу.Приведенный ниже код может успешно найти и загрузить сам ModuleA, но он не может разрешить библиотечные модули, необходимые для ModuleA:

ModuleFinder finder = ModuleFinder.of(Paths.get(modulePath));
ModuleLayer parent = ModuleLayer.boot();
Configuration cf = parent.configuration().resolve(finder, ModuleFinder.of(), Set.of(moduleName));

ClassLoader scl = ClassLoader.getSystemClassLoader();
ModuleLayer.Controller newLayer = ModuleLayer.defineModulesWithOneLoader(cf, List.of(parent), scl);

Я получаю следующее исключение из метода resolve:

Exception in thread "main" java.lang.module.FindException: Module <library module> not found, required by <ModuleA>

Знаете ли вы, как я мог разрешить все необходимые модули (включая библиотечные модули) вместе с ModuleA?

...