Я не могу найти какую-либо информацию о том, возможно ли сканирование всех доступных классов (для интерфейсов, аннотаций и т.д.) Во время выполнения, как это делают Spring, Reflections и многие другие фреймворки и библиотеки в настоящее время, несмотря на изменения Jigsaw, связанные с способ загрузки классов.
EDIT: Этот вопрос касается сканирования реальных физических путей к файлам в поисках классов. Другой вопрос касается динамической загрузки классов и ресурсов. Это связано, но очень не дубликат.
ОБНОВЛЕНИЕ: проект Jetty сделал предложение JEP для стандартизированного API для этого. Если у вас есть способ помочь сделать это реальностью, сделайте это. В противном случае, подождите и надейтесь.
ОБНОВЛЕНИЕ 2: Найдено этого соответствующего звучащего сообщения. Цитирую фрагмент кода для потомков:
Если вы действительно просто хотите узнать содержание модулей в загрузочный слой (модули, которые разрешаются при запуске), то вы будете делать как то так:
ModuleLayer.boot().configuration().modules().stream()
.map(ResolvedModule::reference)
.forEach(mref -> {
System.out.println(mref.descriptor().name());
try (ModuleReader reader = mref.open()) {
reader.list().forEach(System.out::println);
} catch (IOException ioe) {
throw new UncheckedIOException(ioe);
}
});