Maven:如何比较多模块项目中两个模块的子模块?
我有一个多模块项目,有两个模块a和B。它们都有自己的模块,这里称为子模块 我想对这两种类型的模块做一些比较。例如,我想检查A的所有子模块在B中是否都应有关联的子模块。我如何才能做到这一点 我查看了maven enforcer插件,但我只找到了管理插件和依赖项的示例,而没有找到模块 到目前为止,我已经能够使用以下命令从中打印出A的子模块列表: 但当我尝试将其输出到这样的文件时:Maven:如何比较多模块项目中两个模块的子模块?,maven,module,maven-dependency-plugin,Maven,Module,Maven Dependency Plugin,我有一个多模块项目,有两个模块a和B。它们都有自己的模块,这里称为子模块 我想对这两种类型的模块做一些比较。例如,我想检查A的所有子模块在B中是否都应有关联的子模块。我如何才能做到这一点 我查看了maven enforcer插件,但我只找到了管理插件和依赖项的示例,而没有找到模块 到目前为止,我已经能够使用以下命令从中打印出A的子模块列表: 但当我尝试将其输出到这样的文件时: mvn dependency:list -DoutputFile="foo.txt" 我看到foo.txt是在A的每个
mvn dependency:list -DoutputFile="foo.txt"
我看到foo.txt
是在A的每个子模块中创建的,而不是在模块A(聚合器)中创建的。我需要一个包含依赖项列表的文件,从中我可以使用
grep maven-dependency-plugin | awk '{ print $(NF-1) }'
所以我需要两件事:
1.将聚合器的依赖项:列表
或依赖项:树
输出到一个文件中,然后
2.在整个项目中,读取模块A和模块B中的两个文件,并有一种方法来进行一些比较和输出结果(如果比较结果不理想,则生成失败)
任何指示都会有帮助
编辑:
澄清我需要在项目的构建(mvn clean install
)过程中,每次构建时都要执行这些操作
mvn --also-make dependency:tree | grep maven-dependency-plugin | awk '{ print $(NF-1) }' >> subModuleList.txt
对于比较的情况,假设您在本阶段手头有两个文本文件,即
subModuleListA.txt
和subModuleListB.txt
。您可以编写一个测试来解析这些文件并比较它们的元素。由于不期望的结果,此测试应该失败,因此标记为完整的生成失败(我希望还可以记录失败的原因)。如何在生成过程中添加生成txt文件的机制?因为我们希望每次有人构建项目时都能进行此测试。
mvn --also-make dependency:tree | grep maven-dependency-plugin | awk '{ print $(NF-1) }' >> subModuleList.txt