1. Обзор
Spring Boot предоставляет родительский POM для упрощения создания приложений Spring Boot.
Однако использование родительского POM не всегда может быть желательным, если у нас уже есть родительский объект для наследования.
В этом кратком руководстве мы рассмотрим, как мы все еще можем использовать Boot без родительского стартера.
2. Spring Boot без родительского POM
Родительский pom.xml заботится о зависимостях и управлении плагинами. По этой причине наследование от него обеспечивает ценную поддержку в приложении, поэтому обычно это предпочтительный способ действий при создании приложения загрузки . Вы можете найти более подробную информацию о том, как создать приложение на основе родительского стартера, в нашей предыдущей статье.
Однако на практике мы можем быть ограничены правилами проектирования или другими предпочтениями, чтобы использовать другого родителя.
К счастью, Spring Boot предлагает альтернативу наследованию от родительского стартера, которая по-прежнему может предоставить нам некоторые из своих преимуществ.
Если мы не используем родительский POM, мы все равно можем извлечь выгоду из управления зависимостями , добавив артефакт spring-boot-dependencies с scope = import :
org.springframework.boot spring-boot-dependencies 1.5.6.RELEASE pom import
Затем мы можем начать просто добавлять зависимости Spring и использовать функции Spring Boot :
org.springframework.boot spring-boot-starter-web
С другой стороны, без родительского POM мы больше не получаем преимуществ от управления плагинами. Это означает, что нам нужно явно добавить плагин spring -boot-maven-plugin :
org.springframework.boot spring-boot-maven-plugin
3. Переопределение версий зависимостей
Если мы хотим использовать другую версию для определенной зависимости, чем та, которая управляется Boot, нам необходимо объявить ее в разделе dependencyManagement до объявления spring-boot-dependencies :
org.springframework.boot spring-boot-starter-data-jpa 1.5.5.RELEASE // ...
Напротив, простое объявление версии для зависимости вне тега dependencyManagement больше не будет работать.
4. Вывод
В этом кратком руководстве мы увидели, как использовать Spring Boot без родительского файла pom.xml.
Исходный код примеров можно найти на GitHub.