解决maven循环依赖

问题:
  • maven打包的时候提示
[ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.kangqiao:provider-sso-java:1.0-SNAPSHOT'}' and 'Vertex{label='com.kangqiao:provider-master-data-java:1.0-SNAPSHOT'}
分析原因:
  • 是由于sso工程依赖master-data工程
  • master-data工程同时有sso工程依赖
  • 产生了循环依赖
  • 产生循环依赖之后maven不知道先构建哪个工程就会报错
解决方案:
方案一、删依赖
  • 删除sso中对master的依赖,采用单项依赖
  • 把sso对master依赖的业务迁移到sso工程中
  • 或者删除master中sso的依赖,把master对sso的依赖部分迁移到master中
方案二、使用插件build-helper-maven-plugin
  • 添加一个中间模块,让master-data和sso都去依赖中间模块, 而不相互依赖
  • build-helper-maven-plugin只是提供了一共规避方案,依赖本质还是存在循环依赖


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部