Maven如何处理循环依赖

一、Reactor对Project中model循环依赖检测

  • 发生阶段:开始构建时,解析project的model解析顺序

  • 检测到循环依赖时动作:抛出异常,终止解析

  • 冲突时解决办法:单独构建子模块或者避免循环依赖(如项目重构,版本错位等)

二、Aether构建依赖树时对循环依赖的处理

参考:https://wiki.eclipse.org/Aether/Dependency_Graph

  • 发生阶段:依赖图解析为依赖树时

  • 检测到循环依赖时动作:按Maven依赖调停原则执行,不会报错

评论