Это зависит от того, как вы создаете и запускаете свое приложение.
Если вы создадите свое приложение в виде толстой банки с пружинной загрузкой (например, с помощью spring-boot-maven-plugin), у вас не будет «настоящих» модулей в качестве среды выполнения. Ваши модули станут частью неназванного модуля, который «требует» всех других модулей и «экспортирует» все его пакеты.
Вы можете собирать и запускать свое приложение модульно, но не создавая толстый jar-файл с помощью spring-boot-maven-plugin.
Один из способов сделать это - поместить все зависимости в один каталог, включая модуль с вашим основным классом, и запустить ваше приложение следующим образом:
java --module-path={MODULE-DIR-PATH} --module example.module/com.example.MainClass
Я создал пример приложения, объединяющего JPMS и Spring-Boot. Вы можете проверить это здесь:
https://github.com/qutax/jpms-spring-example