9

我有一个基于 Maven 的项目。有四个不同的项目,如下面的结构所示​​。每个主项目和子项目都有自己的 pom.xml 文件。

ProjectA
    |
    --------subProjects     
ProjectB  
   |
   --------subprojects
ProjectC    
   |
   --------subProjects
ProjectD
   |
    -------subprojects

我正在运行mvn site哪个ProjectC依赖于ProjectB哪个相互依赖ProjectAProjectB

因此,当我运行 Maven 站点时test results,所有这些项目的所有内容都会被创建individually。我还想做的是aggregation在这些项目和子项目中创建一个所有测试结果并将其显示在one place.

那么maven网站有可能吗?

4

2 回答 2

2

是的。有两种选择:

  1. "您可以通过将所有项目上的 project.build.directory 设置为一个公共文件夹来做到这一点。 "

  2. 您可以maven-surefire-report-plugin通过添加reportsDirectories带有子元素reportsDirectory文档)的元素来添加额外的目录。

所以这应该工作:

<reportsDirectories>
    <reportsDirectory>../ProjectA/target/surefire-reports</reportsDirectory>
    <reportsDirectory>../ProjectA/module1/target/surefire-reports</reportsDirectory>
    ...
</reportsDirectories>
于 2013-02-08T11:27:31.997 回答
1

稍微不同的方法是在JenkinsSonar等专用服务器中查看测试结果。这种方式无需修改现有项目。

请参阅https://builds.apache.org/https://analysis.apache.org/上的运行示例

来自声纳的两张截图: 测试结果

模块和包的结果 按模块和包的测试结果

对于 Jenkins,有仪表板视图插件 在此处输入图像描述

于 2013-02-12T13:26:12.313 回答