我的 Maven 2 项目由几个子模块组成。它的结构包含 EJB、WAR 和 Jar 子模块。现在我想检测包含上述所有子模块的打包 EAR。
例子:
Interface Maven Project consists of several modules:
- InterfacePOM --> parent pom
- InterfaceEAR --> EAR module which does not actual code but is the packaging for Domain, EJB and WAR
- InterfaceEJB --> EJB module
- interfaceWAR --> WAR module
- interfaceDomain --> JAR module
使用 Cobertura 时,我可以成功检测所有各种独立模块,但每个模块生成一个 .ser 文件。有没有一种方法可以立即检测整个 EAR 文件?这样结果将是我可以使用的单个 .ser 文件??
最佳答案
简短回答:否(查看this previous answer了解更多详情)。您需要一个外部插件,例如 dashboard (其实不用,看我之前的回答),XRadar或 Sonar汇总报告。但在这个领域,Sonar 是明显的赢家(这个项目非常棒),我会毫不犹豫地推荐它。查看Nemo ,他们的公共(public)实例,选择任何项目并查看代码覆盖率的向下钻取(例如 Apache CXF )以了解它可以做什么。
更新:看来我错过了最初问题的要点,所以我正在相应地更新我的答案。基本上,我现在将这个问题理解为“如何用 cobertura 检测耳朵”,这确实是一个完全不同的故事。
不幸的是,cobertura可以检测耳朵、sar、zip、war、jar,我不认为 cobertura-maven-plugin支持这种开箱即用的功能,将 cobertura 的 ant 任务与 antrun 插件一起使用可能是更好的选择。参见 MCOBERTURA-86 , 这个thread还有这个discussion有关此的更多背景信息(以及 antrun 示例)。
TBH,您尝试做的事情在构建生命周期、打包、报告等方面确实并不容易,并且由于缺乏 cobertura 插件的支持,这将是一项艰巨的任务。我真的会考虑两次(投资时间让整个事情正常运转与产生的值(value)相比)或者考虑花时间(了解金钱)获得三叶草许可证(为此提供更好的支持)。
关于java - 如何使用 Cobertura 检测多项目 Maven 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022978/