Maven如何排除依赖

505 阅读1分钟

首先在项目右侧中选择maven->项目模块->show Dependency 在这里插入图片描述

可以看到图中有这些依赖 GitCompare是你的模块 项目pom.xml依赖着maven-plugin-api、maven-plugin-annotations、junit 这时候假设你不要sisu-inject-bean这个依赖 【】

你有三种方法 第一 可以直接在org.apache.maven排除

<dependency>
   <groupId>org.apache.maven</groupId>
   <artifactId>maven-plugin-api</artifactId>
   <version>3.0</version>
   <exclusions>
     <exclusion>
         <groupId>org.sonatype.sisu</groupId>
         <artifactId>sisu-inject-bean</artifactId>
     </exclusion>
   </exclusions>
 </dependency>

这种方法比较复杂需要寻找你要排除的父依赖像,需要在maven-plugin-api排除 sisu-inject-bean->sisu-inject-plexus->maven-plugin-api

小tip双击依赖图中的模块可以显示对应的pom.xml 【】

reload 重新加载pom和视图就可以看到没了这个sisu-inject-bean依赖 【】

第二种方法

就是在自己项目中直接引用org.sonatype.sisu,但是排除掉这个依赖里面的全部 (因为maven依赖是最短路径选择,选中了之后就不会再依赖其他更深的依赖)

<dependency>
  <groupId>org.sonatype.sisu</groupId>
  <artifactId>sisu-inject-bean</artifactId>
  <exclusions>
    <exclusion>
      <groupId>*</groupId>
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

reload 重新加载pom和视图就可以看到没了这个sisu-inject-bean依赖 【】

第三种方法

idea在依赖图中有个隐藏的快捷键,选中依赖后Shift+Delete之后可以直接修改pom.xml的文件,实现快速排除 本质上是使用第1种方法