В нашем модуле скажем XYZ Мы включили зависимость для плагина maven toolchains, чтобы наша сборка Jenkins работала с определенной версией JDK.Но как только мы включили эту зависимость в цепочку инструментов, она добавит еще много других зависимостей (см. Скриншот ниже), когда мы включим модуль XYZ в качестве зависимости в другом проекте.
Некоторые из этих зависимостей, возникшие из-за цепочки инструментов, такие как slf4j-jdk14-1.5.6.jar
и slf4j-nop-1.5.3.jar
, вызывают такие проблемы, как SLF4J: путь к классу содержит несколько привязок SLF4J. , когда мыразверните приложение.
Зависимость Maven, которую мы добавили для плагина toolchain
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
Дерево зависимостей maven-toolchains-plugin
![enter image description here](https://i.stack.imgur.com/gvren.png)
Итак, мой вопрос: если я исключу org.apache.maven:maven-toolchain
или org.apache.maven:maven-core
(как показано ниже) при добавлении зависимости плагина цепочек инструментов в XYZ, это вызовет какие-либо проблемы?в отношении других моих зависимостей
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>