使用surefire-report-plugin的Maven多模块项目应生成汇总报告

时间:2017-01-20 15:15:34

标签: maven maven-3 maven-surefire-plugin

我已经研究了很多,但仍然找不到令人满意的解决方案。 我有一个多模块maven项目,并希望从surefire插件生成的surefire报告中生成汇总报告。除了我必须运行构建过程两次之外,一切都在起作用。

要求只运行一次。有什么想法吗?

project (aggregator and parent POM)
|- module1
|- module2
|- module3
|- moduleX

我知道问题的背景(maven在子项目之前创建根项目的报告,因此聚合在第一次运行中返回空)但几乎全部(12,{ {3}} 3)所有状态只是为了重新运行构建过程。 (还有一些4在这个方向上的SO点) 唯一有用的post是分离聚合器和父pom。 然而,这只是我的最后手段。任何其他想法如何在一个maven运行中获得聚合报告?

澄清:两次运行构建过程意味着调用

  1. mvn clean install surefire-report:report(以及再次调用之后)
  2. mvn clean install surefire-report:report
  3. OR

    1. mvn clean site(并在完成后再次调用)
    2. mvn clean site
    3. 在第一次运行中,聚合报告是空的,因为它是在每个其他项目之前构建的(由于反应器构建顺序) - 因此没有子模块具有必要的surefire txt / xml文件。在第二次运行中,聚合报告生成正常,因为使用了第一次运行的万无一失的报告。

1 个答案:

答案 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