使用 IDEA 解决 Maven 项目循环依赖

使用 IDEA 解决 Maven 项目循环依赖

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

打开项目依赖图

在可能出现循环依赖的项目上右键打开【Show Diagram…】,如下图:
使用 IDEA 解决 Maven 项目循环依赖_第1张图片

两个项目依赖图的例子

一个简单的项目依赖图:
使用 IDEA 解决 Maven 项目循环依赖_第2张图片

一个复杂的项目依赖图:
使用 IDEA 解决 Maven 项目循环依赖_第3张图片

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

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

观察项目中的红线

使用 IDEA 解决 Maven 项目循环依赖_第4张图片

局部放大后:

使用 IDEA 解决 Maven 项目循环依赖_第5张图片

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

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

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

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

使用 IDEA 解决 Maven 项目循环依赖_第6张图片

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

<dependency>
    <groupId>com.xxxgroupId>
    <artifactId>xxx-webservice-serviceartifactId>
    <version>x.x.xversion>
    <exclusions>
        <exclusion>
            <groupId>com.xxxgroupId>
            <artifactId>xxx-sampinput-serviceartifactId>
        exclusion>
    exclusions>
denpendency>

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

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

你可能感兴趣的:(使用 IDEA 解决 Maven 项目循环依赖)