IDEA 解决 Maven 项目循环依赖

IDEA 解决 Maven 项目循环依赖

正常情况下,循环依赖是很少见的,当很多个项目互相引用的时候,就可能出现循环依赖,一般根据错误信息也能解决循环依赖,这篇就是讲如何使用 IDEA 轻松的解决循环依赖问题。

打开项目依赖图

在可能出现循环依赖的项目上右键打开【Show Diagram…】,如下图:

IDEA 解决 Maven 项目循环依赖

两个项目依赖图的例子

一个简单的项目依赖图:

IDEA 解决 Maven 项目循环依赖

一个复杂的项目依赖图:

IDEA 解决 Maven 项目循环依赖

项目依赖图看着是不是很直观?

项目不一定存在循环依赖,如果存在循环依赖,就会在上面的图中出现【红色】的线。

观察项目中的红线

IDEA 解决 Maven 项目循环依赖

局部放大后:

IDEA 解决 Maven 项目循环依赖

正常情况,两个项目之间肯定只有一条线,如果出现这种来回两条线,肯定就是互相依赖了。这种依赖可能是两个项目直接依赖,也可能是通过其他项目导致的间接依赖。

这个图中的 api 项目不应该引用 service 项目,因此我们打开 api 项目。

查看有问题项目的 Maven 依赖树图

在 api 项目的 pom.xml 内容中右键可以打开 Maven 依赖树图,部分依赖图如下:

IDEA 解决 Maven 项目循环依赖

通过这个图,很明显的可以看到 api 项目通过 webservice 项目引入了 service 项目,因此在 pom 中找到 webservice 项目,添加排除项,例如:

 

<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>

排除后,再查看【项目依赖图】,就会发现循环依赖已经消除了。

通过 IDEA 直观的依赖图,可以很方便的解决循环依赖的问题。

 

 

参考:https://blog.****.net/isea533/article/details/52180116