Существует много артефактов Maven с именем spring-boot-starter-*
. Как видно из названий, они очень полезны для запуска проекта приложения с Spring Boot.
Однако после того, как проект приложения станет стабильным, он должен продолжать использовать эти spring-boot-starter-*
?
Меня беспокоит то, что при этом используется механизм "транзитивных зависимостей" Maven, и, похоже, он нарушает предложение, содержащееся в Документация Maven :
Хотя это и транзитивно зависимости могут неявно включать желаемые зависимости. Рекомендуется явно указывать зависимости, которые вы непосредственно используете, в своем исходном коде.
Например, предположим, что проект приложения напрямую использует аннотацию Spring @EventListener
. Аннотация находится в артефакте Maven spring-context
, а spring-context
включена в spring-boot-starter
. Должен ли проект приложения напрямую указывать зависимость от spring-context
после того, как он станет стабильным?