Реактор Maven: POM с использованием пружинного стартера
У меня есть проект с несколькими модулями. Некоторые из них используют пружинную загрузку, другие - простые банки без какой-либо зависимости от пружины. Поэтому у меня есть родительская настройка pom.xml для каждого модуля. Беда в весенних загрузочных проектах.
Я установил зависимости весенней загрузки как scope=import
как указано здесь в каждом весеннем загрузочном проекте. Это правильно? Или я должен перенести его в родительский POM?
Проблемы, с которыми я сталкиваюсь 1. Когда я запускаю пакет mvn из верхней папки, он не перепаковывает файлы весенней загрузки. 2. Мои проекты весенней загрузки перечисляли другие зависимости весенней загрузки. со стартером начальной загрузки в качестве родителя, им не нужен тег версии. Теперь они делают. Я определил это как свойство в родительском pom и добавил тег версии, но хочу знать, лучше ли это.
Спасибо за прочтение.
Обновить ответ на комментарий № 1: У меня есть spring-boot-maven-plugin
в моем родительском ПОМ следующим образом
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.1.9.RELEASE</version>
</plugin>
</plugins>
<pluginManagement>
....
</build>
Я тоже пробовал бегать mvn spring-boot:repackage
вручную внутри моего весеннего загрузочного проекта - но это ошибки с :repackage failed: Source must refer to an existing file -> [Help 1]
1 ответ
Если вы не наследуете от родителя весенней загрузки, вы должны объявить spring-boot-maven-plugin в разделе плагинов в pom, чтобы произошла переупаковка.
Вам нужно будет добавить следующее в плагин:
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
Вы должны поместить плагин под pluginManagement в родительском pom, и добавить
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
под каждым разделом сборки для каждого модуля, который опирается на загрузку пружины.