В рамках моего проекта я создаю стартер Spring Boot.
Когда я проверяю зависимости, используемые в моем стартере, я не получаю никаких конфликтов.Pom.xml доступен здесь .Например, я получаю jackson-databind
2.9.8 в своем стартере 1.1.0
Теперь, когда я использую свой стартер в другом проекте,для которого единственная объявленная зависимость находится выше стартовой:
<dependencies>
<dependency>
<groupId>com.societegenerale.ci-droid.tasks-consumer</groupId>
<artifactId>ci-droid-tasks-consumer-starter</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
(пример доступен здесь )
Я ожидаю увидеть точно такие же зависимости .. Ну, янет. В этом случае jackson-databind 2.8.9 "выигрывает", а не 2.9.8
Это вызывает проблемы приво время выполнения.Это довольно раздражает, так как я не могу по-настоящему легко распространять стартер, если не могу гарантировать, какие зависимости появятся при его использовании.
Какое правило Maven здесь работает?Я не понимаю .. И как я могу убедиться в том, что в распространяемый мной стартер входит правильная версия, поэтому мне не нужно указывать людям явно объявлять версии при их использовании?