【问题标题】:Maven multimodule project using surefire-report-plugin should generate aggregated report使用 surefire-report-plugin 的 Maven 多模块项目应该生成汇总报告
【发布时间】:2017-01-20 15:15:33
【问题描述】:

我研究了很多,但仍然没有找到令人满意的解决方案。 我有一个多模块 maven 项目,想从surefire插件生成的surefire-reports中生成一个汇总报告。除了我必须运行构建过程两次之外,一切都正常工作。

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

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

我知道问题的背景(maven 在子项目之前创建根项目的报告,因此聚合在第一次运行时返回空)但几乎所有(123@987654324 @) 所有状态只是为了重新运行构建过程。 (还有一些post指向这个方向) 唯一有用的 post 是将聚合器和父 pom 分开。 然而,这只是我最后的手段。还有其他想法如何在一次 Maven 运行中获得汇总报告吗?

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

  1. mvn clean install surefire-report:report(完成后再次调用)
  2. mvn clean install surefire-report:report

  1. mvn clean site(完成后再次调用)
  2. mvn 清洁网站

在第一次运行中,汇总报告是空的,因为它是在所有其他项目之前构建的(由于反应堆构建顺序) - 因此没有一个子模块具有必要的surefire txt/xml 文件。在第二次运行中,聚合报告生成良好,因为使用了第一次运行的可靠报告。

【问题讨论】:

  • “运行构建过程两次”是什么意思?通常,您只需要在站点生成之外使用 mvn clean sitemvn clean install surefire-report:report
  • 请解释“..运行构建过程两次”
  • 您可能想提供一个示例。您是如何指定聚合的?

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


【解决方案1】:

这是我的猜测:

如果你得到

[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

【讨论】:

猜你喜欢
  • 2014-07-02
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 2019-01-14
相关资源
最近更新 更多