https://www.jianshu.com/p/c41de90f2b26

使用 exculusions 排除依赖项目重构

一. 什么叫循环依赖?

项目A依赖项目B的同时,项目B依赖项目A。

二. 如何解决循环依赖?

排除依赖项目

<dependency>
    <groupId>com.xxx</groupId>
    <artifactId>xxx-webservice-service</artifactId>
    <version>x.x.x</version>
    <exclusions>
        <exclusion>
            <groupId>com.xxx</groupId>
            <artifactId>xxx-sampinput-service</artifactId>
        </exclusion>
    </exclusions>
</denpendency>

三. 依赖排除细节

  1. 不需要写版本 也就是,无论那个版本,无论含几个,全部排除
  2. 场景: a.循环依赖 b.排除snapshot这种不稳定版本

四. 实际项目

  1. 使用 IDEA 解决 Maven 项目循环依赖
  2. Could not resolve dependencies for project
  3. 如果排除依赖不可以用,使用build-helper-maven-plugin插件解决问题

五. 总结

  1. 首先要判断哪些依赖,出现了循环依赖
  2. 看看排除可不可以用
  3. 如果不行,试用下 build-helper-maven-plugin