关于maven 循环引用问题The projects in the reactor contain a cyclic reference: Edge between ‘Vertex{label=‘co

本文介绍了解决Maven项目中循环依赖的方法。首先分析了循环依赖产生的原因,并提供了两种解决方案:一是重构项目避免循环依赖;二是使用build-helper-maven-plugin插件规避循环依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

多模块项目重新导入项目时或者更换开发环境


问题描述:

maven提示项目install或者其他指令时发生模块之间循环引用

The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.ruoyi:ruoyi-customer:4.3.1'}' and 'Vertex{label='com.ruoyi:ruoyi-framework:4.3.1'}' introduces to cycle in the graph com.ruoyi:ruoyi-framework:4.3.1 --> com.ruoyi:ruo

原因分析:

在这里插入图片描述

由于两个项目互相依赖maven不知道先构建哪一个,不管哪一个模块先构建都不能正常构建。 不要觉得项目以前都没问题怎么换个环境就不行了肯定不是代码的问题,然而就是你代码的问题

解决方案:

将模块之间引用拆分出来,按照规范最好不进行循环引用。
若你的模块较多差分工作量确实太大,需​要​用build-helper-maven-plugin插件来规避。比如A依赖B,B依赖C,C依赖A的情况。这个插件提供了一种规避措施,即临时地将工程A、B、C合并成一个中间工程,编译出临时的模块D。然后A、B、C再分别依赖临时模块D进行编译。
对于借助插件方式可参照https://www.iteye.com/blog/hck-1728329

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值