Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用surefire报告插件的Maven多模块项目应生成聚合报告_Maven_Maven 3_Maven Surefire Plugin - Fatal编程技术网

使用surefire报告插件的Maven多模块项目应生成聚合报告

使用surefire报告插件的Maven多模块项目应生成聚合报告,maven,maven-3,maven-surefire-plugin,Maven,Maven 3,Maven Surefire Plugin,我做了很多研究,但仍然没有找到令人满意的解决方案。 我有一个多模块maven项目,希望从surefire插件生成的surefire报告中生成一个聚合报告。就其本身而言,除了我必须运行构建过程两次之外,一切都正常 要求只运行一次。有什么想法吗 project (aggregator and parent POM) |- module1 |- module2 |- module3 |- moduleX 我知道问题的背景(maven在子项目之前创建根项目的报告,因此聚合在第一次运行时返回空),但几乎

我做了很多研究,但仍然没有找到令人满意的解决方案。 我有一个多模块maven项目,希望从surefire插件生成的surefire报告中生成一个聚合报告。就其本身而言,除了我必须运行构建过程两次之外,一切都正常

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

project (aggregator and parent POM)
|- module1
|- module2
|- module3
|- moduleX
我知道问题的背景(maven在子项目之前创建根项目的报告,因此聚合在第一次运行时返回空),但几乎所有(,)状态都是为了重新运行构建过程。(也有一些指向这个方向) 唯一有用的方法是分离聚合器和父pom。 但这只是我最后的选择。如何在一次maven运行中获得聚合报告,还有其他想法吗

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

  • mvn清洁安装surefire报告:报告(完成后再次调用)
  • mvn清洁安装surefire报告:报告
  • mvn清理站点(完成后再次调用)
  • 清洁场地
  • 在第一次运行中,聚合报告是空的,因为它是在每个其他项目之前构建的(由于反应堆构建顺序),因此没有任何子模块具有必要的surefire txt/xml文件。在第二次运行中,由于使用了第一次运行的surefire报告,因此聚合报告生成得很好

    以下是我的猜测:

    如果你得到

    [INFO] Skipped "Surefire Report" report (maven-surefire-report-plugin:2.22.0:report-only), file "surefire-report.html" already exists.
    
    在您的第一次跑步和第二次跑步中,包括重新创建目标/站点的内容,然后您将获得您描述的效果

    另一方面,描述了您所看到的需要运行两次目标的内容:

    mvn verify site
    mvn site:site site:stage
    
    以下是我的猜测:

    如果你得到

    [INFO] Skipped "Surefire Report" report (maven-surefire-report-plugin:2.22.0:report-only), file "surefire-report.html" already exists.
    
    在您的第一次跑步和第二次跑步中,包括重新创建目标/站点的内容,然后您将获得您描述的效果

    另一方面,描述了您所看到的需要运行两次目标的内容:

    mvn verify site
    mvn site:site site:stage
    

    “运行构建过程两次”是什么意思?通常,您只需要
    mvn clean site
    mvn clean install surefire report:report
    站点生成之外的内容。请解释“.运行构建过程两次”您可能需要提供一个示例。您是如何指定聚合的?什么是“运行构建过程两次”?通常,您只需要
    mvn clean site
    mvn clean install surefire report:report
    站点生成之外的内容。请解释“.运行构建过程两次”您可能需要提供一个示例。你是如何指定聚合的?断开的链接,你能修复它吗?@mjaggard我不知道它去了哪里,但我在断开的链接继续工作,你能修复它吗?@mjaggard我不知道它去了哪里,但我在继续工作