Spring data gemfire 1.7.0.RELEASE имеет временные зависимости для компиляции версии 1.7.12 от slf4j-api
и jcl-over-slf4j
. Я определил ниже зависимости в моем файле Maven п, так как нам нужно SLF4J 1.7.10 зависимости (некоторые другие банки зависят от этого):Как разрешить slf4j зависимость весенних данных gemfire?
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>1.7.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.10</version>
<scope>runtime</scope>
</dependency>
У меня есть внутренний Maven репо в качестве центрального хранилища Maven. Ниже поведение я вижу в различных сценариях, основываясь на том, что банки доступны в Maven центральный:
Мои вопросы:
- В сценарии 1, я не понимаю почему сборка не жаловалась на отсутствие 1,7.12 баночки. Как была решена зависимость?
- В сценарии 2, как 1,7.10 баночка переопределяет 1.7.12 без меня, указав исключение для slf4j 1.7.12 в зависимости от весны данных?
- В сценарии 3, когда в центре Maven отсутствует pom для slf4j-parent 1.7.12, почему он жалуется? Поскольку присутствует 1,7,10 банок, разве сборка не должна хорошо собирать 1,7,10 банок (аналогично сценарию 1)?
Спасибо. В Сценарии 1, не должен ли он попытаться разрешить дерево зависимостей 1.7.12? –
Действительно, это все еще единственный непонятный момент для меня, возможно, существует другое поведение, если зависимость не существует вообще, и POM переопределяет ее или если она есть, она начинает обрабатывать ее, а затем она терпит неудачу из-за недостающей части в графе зависимостей. Какую версию maven вы используете? –
Я обновил свой ответ с дальнейшими подробностями. –