Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven-ban循环包依赖项_Java_Maven_Package_Maven 3_Circular Dependency - Fatal编程技术网

Java Maven-ban循环包依赖项

Java Maven-ban循环包依赖项,java,maven,package,maven-3,circular-dependency,Java,Maven,Package,Maven 3,Circular Dependency,我在想,如果有一个maven插件可以禁止循环包依赖,那就太好了。环顾四周,什么也没发现 让我试着定义一下问题: 包依赖关系:包A中存在引用包B中代码的代码。包A依赖于包B A->B 循环包依赖关系:包之间存在依赖关系,因此项目中包的依赖关系图形成循环图 A->B->A 我希望插件尽最大努力执行包依赖关系图是无环的(它必须是有向无环图)。如果它遗漏了反射代码和难以分析的代码,这是很好的 任何人都知道这样的插件,或者可能是库。。是这样吗 谢谢 虽然不是专门针对您的问题,但它应该可以通过解决。您应该检

我在想,如果有一个maven插件可以禁止循环包依赖,那就太好了。环顾四周,什么也没发现

让我试着定义一下问题:

包依赖关系:包A中存在引用包B中代码的代码。包A依赖于包B

A->B

循环包依赖关系:包之间存在依赖关系,因此项目中包的依赖关系图形成循环图

A->B->A

我希望插件尽最大努力执行包依赖关系图是无环的(它必须是有向无环图)。如果它遗漏了反射代码和难以分析的代码,这是很好的

任何人都知道这样的插件,或者可能是库。。是这样吗


谢谢

虽然不是专门针对您的问题,但它应该可以通过解决。

您应该检查您可以在此处找到的问题


它必须与

一起使用,我使用不同的多个maven模块来明确分层,同时仍然允许模块中存在一些循环依赖项。我希望如果您真的有这样的东西,那么您将得到基于循环依赖项的构建失败,这不一定。@khmarbaise-不确定您想要什么我的意思是,但并没有什么能阻止您在我定义的包之间拥有循环依赖关系。例如,如果包A包含A1类och A2,则包B包含B1和B2。A1依赖B1,B2依赖A2,即A->B->A@PeterLawrey-同意,这是可行的,但这是一个稍微不同的概念。我认为强制执行非循环包将有助于改进代码结构,尤其是在有大量开发人员的代码库中,并使开发人员在类应属于何处时三思而后行。@SasonOhanian根据这类经验,开发人员将向包中添加所有可用的内容,即最高,您可能会发现,您以后必须重新构造代码,因为它可能在依赖项中处于较低的位置。我认为它检查的是循环工件依赖关系,而不是java包。我来看看这个。