码迷,mamicode.com
首页 > 其他好文 > 详细

maven循环引用的问题

时间:2019-08-05 21:49:52      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:解决   情况   react   blog   enc   cto   maven   between   方法   

  多模块的maven工程,有时候由于设计的不合理或者需求的变更。会导致模块之间产生循环依赖,编译的时候会报如下的错误:

        [INFO] Scanning for projects... [ERROR] The projects in the reactor contain a cyclic reference: Edge between .....

       

        重构肯定是需要的,把2个模块中都用到部分移到common子模块中。2个模块都依赖common中的代码,这样就可以消除2个模块的相互引用了。

  

        也可以使用build-helper-maven-plugin插件,比如A依赖B,B依赖C,C依赖A的情况。这个插件提供了一种规避措施,即临时地将工程A、B、C合并成一个中间工程,编译出临时的模块D。然后A、B、C再分别依赖临时模块D进行编译 。

 

        有IOC机制的工程,可以如下的解决,我碰到的问题就是这样解决了。

        B已经依赖了A,但是现在A又需要使用B中的相关方法。可以在A中定义一个接口,由于B依赖A,所以B可以直接实现该接口,然后A中通过接口声明并注入B中的实例即可。

        我使用的是HK2中的@Contract和@Service。

 

        关于build-helper-maven-plugin插件和maven循环依赖,可以看一下https://hck.iteye.com/blog/1728329

        

maven循环引用的问题

标签:解决   情况   react   blog   enc   cto   maven   between   方法   

原文地址:https://www.cnblogs.com/lnlvinso/p/11305694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!