我已经研究了很多,但仍然找不到令人满意的解决方案。 我有一个多模块maven项目,并希望从surefire插件生成的surefire报告中生成汇总报告。除了我必须运行构建过程两次之外,一切都在起作用。
要求只运行一次。有什么想法吗?
project (aggregator and parent POM)
|- module1
|- module2
|- module3
|- moduleX
我知道问题的背景(maven在子项目之前创建根项目的报告,因此聚合在第一次运行中返回空)但几乎全部(1,2,{ {3}} 3)所有状态只是为了重新运行构建过程。 (还有一些4在这个方向上的SO点) 唯一有用的post是分离聚合器和父pom。 然而,这只是我的最后手段。任何其他想法如何在一个maven运行中获得聚合报告?
澄清:两次运行构建过程意味着调用
OR
在第一次运行中,聚合报告是空的,因为它是在每个其他项目之前构建的(由于反应器构建顺序) - 因此没有子模块具有必要的surefire txt / xml文件。在第二次运行中,聚合报告生成正常,因为使用了第一次运行的万无一失的报告。
答案 0 :(得分:0)
这是我的猜测:
如果得到
[INFO] Skipped "Surefire Report" report (maven-surefire-report-plugin:2.22.0:report-only), file "surefire-report.html" already exists.
在第一次运行和第二次运行中,包括重新创建目标/站点的内容,然后您将获得描述的效果。
http://bartswennenhuis.nl/maven-aggregate-reports-for-multi-module-projects/
另一方面,准确描述了您需要两次运行目标的情况:
mvn verify site
mvn site:site site:stage