【问题标题】:Module level sonar analysis in maven Multi Module projectMaven Multi Module项目中的模块级声纳分析
【发布时间】:2018-06-04 02:40:46
【问题描述】:


从我的 Parent 模块构建时,代码覆盖率和声纳分析都很好。由于 Sonar 会聚合所有子模块的代码覆盖率。

但是,当我为代码覆盖构建子模块时,分析不会在我的父项目中更新。

有没有办法以两种方式调整聚合,即当父构建发生或单个模块独立构建时。
我不想每次都运行整个父项目,以捕获声纳中的代码覆盖率分析。

我的父 pom.xml 包含所有 sonar、jacoco 配置和其他模块继承它们。

<sonar.jacoco.reportPaths>${project.basedir}/../target/*ut-jacoco.exec</sonar.jacoco.reportPaths>

每个模块都会生成自己的moduleX-ut-jacoco.exec。

【问题讨论】:

  • 对根项目mvn clean install进行声纳分析,然后在mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.3:sonar...
  • mvn clean install sonar:sonar 是我目前正在执行的。
  • 我建议单独调用它...
  • 好吧,单独或一起,没有任何区别。 M 在单独构建我的模块时仍然无法更新指标。
  • 这可能是声纳的限制吗?声纳分析报告提到 {"errorMessage":"Validation of project failed:\no Component (uuid=AWB8h3BkPLNZb98uiZti, key=com.proj.main:Module1) is not a project\no The project \"com.proj.main:MyModule1 \" 已在 SonarQube 中定义,但作为项目 \"com.proj.main:PARENT\" 的一个模块。如果您确实想停止直接分析项目 \"com.proj.main:PARENT\",请先将其删除从 SonarQube 然后重新启动对项目“com.proj.main:Module1”的分析。”}

标签: maven sonarqube jacoco-maven-plugin maven-module


【解决方案1】:

感谢@khmarbaise 的指导。理解这种行为需要一段时间,但它确实是一种学习。

在模块构建后使用测试用例执行

mvn 全新安装

需要在项目上运行单独的sonr分析。

mvn 声纳:声纳

随后的声纳分析帮助我更新了父项目以及模块级别的覆盖率和其他指标。

【讨论】:

    猜你喜欢
    • 2021-02-23
    • 2013-03-21
    • 2017-05-09
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2016-03-21
    相关资源
    最近更新 更多