Maven工具链插件的Maven排除

时间:2018-09-18 16:21:27

标签: maven maven-plugin toolchain

在我们的模块中说 XYZ ,我们包括了对maven工具链插件的依赖关系,以使我们的Jenkins构建与特定的JDK版本一起运行。但是,一旦包含了此工具链依赖关系,当我们将 XYZ 模块作为依赖关系包含在另一个项目中时,它将进一步引入许多其他依赖关系(请参见下面的屏幕快照)。

其中一些依赖关系是由于工具链(例如slf4j-jdk14-1.5.6.jarslf4j-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的依赖树

enter image description here

所以,我的问题是,如果我在XYZ中添加工具链插件依赖项时排除了org.apache.maven:maven-toolchainorg.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>

1 个答案:

答案 0 :(得分:0)

此答案基于上面@khmarbaise的评论。

maven-toolchains-plugin的依赖是完全错误的。 我继续查看此文档:Guide to Using Toolchains也不在谈论添加依赖项。

我跟踪了公司内部融合页面,其中提到其中包括错误的内容。