在我们的模块中说 XYZ ,我们包括了对maven工具链插件的依赖关系,以使我们的Jenkins构建与特定的JDK版本一起运行。但是,一旦包含了此工具链依赖关系,当我们将 XYZ 模块作为依赖关系包含在另一个项目中时,它将进一步引入许多其他依赖关系(请参见下面的屏幕快照)。
其中一些依赖关系是由于工具链(例如slf4j-jdk14-1.5.6.jar
和slf4j-nop-1.5.3.jar
)引起的,例如 SLF4J:类路径包含多个SLF4J绑定。 部署应用程序时。
Maven依赖项
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
maven-toolchains-plugin的依赖树
所以,我的问题是,如果我在XYZ中添加工具链插件依赖项时排除了org.apache.maven:maven-toolchain
或org.apache.maven:maven-core
(如下所示),则会导致与我的其他依赖项有关的任何问题
<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>
答案 0 :(得分:0)
此答案基于上面@khmarbaise的评论。
对maven-toolchains-plugin
的依赖是完全错误的。
我继续查看此文档:Guide to Using Toolchains也不在谈论添加依赖项。
我跟踪了公司内部融合页面,其中提到其中包括错误的内容。