【问题标题】:Reports missing on SonarQube dashboard after upgrade升级后 SonarQube 仪表板上缺少报告
【发布时间】:2015-06-08 23:41:59
【问题描述】:

最近我将 SonarQube 从 3.5 升级到 4.5.4 (LTS),现在有一些用户抱怨他们的项目仪表板上缺少一些报告。缺少小部件的报告/数字是:代码行复杂度。单元测试覆盖率什么也不显示。其他小部件(如技术债务、问题、目录纠结索引)显示为 0,这也是可疑的。该项目在 Java 中使用 Sonar 方式配置文件。

用户这样做:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install
mvn sonar:sonar -Dsonar.login=login -Dsonar.password=***** -Dcom.sun.jndi.ldap.connect.pool.prefsize=0 -Dcom.sun.jndi.ldap.connect.pool.timeout=3600000

sonar:sonar 步骤显示“0 个文件已编入索引”。

日志很大,所以我不想在这里粘贴。我找不到任何有用的东西。我需要做什么才能拥有以前拥有的所有报告? 我有一个测试项目,其中大部分丢失的数据都是“开箱即用”显示的。

【问题讨论】:

    标签: java maven sonarqube


    【解决方案1】:

    从 4.3 版开始,SonarQube no longer runs automated tests。它期望 Jenkins/CI 系统运行测试,创建 JUnit/PMD/Jacoco/Clover 等报告,然后告诉 SonarQube 在哪里可以找到它们。 (在旧版本的 SonarQube 中,可以通过将“reuseReports”标志设置为 true 来实现此行为。)

    如果构建未配置为生成报告,则需要对其进行调整。

    【讨论】:

    • 确切。此外,日志“0 files indexed”表示未安装 Java 插件或源路径配置错误。
    • 我发现了另一个分析,其中没有“0 文件索引”消息并且用户正在使用“mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test。 failure.ignore=true”命令,但“单元测试覆盖率”仍然显示“-”。其余显示: 单元测试成功 100,0% 失败 0 错误 0 测试 1 681 跳过 3 执行时间 12 秒 为什么会这样?另外,正如我在开始的帖子中提到的,用户根据sonarqube.org/unit-test-execution-in-sonarqube 进行分析,但报告仍然缺少一些数据,而还有其他项目显示更多。
    • 听起来 SonarQube 找到了surefire(测试运行)报告,但没有找到覆盖率(Jacoco)报告。确保 jacoco 报告存在于 SonarQube 期望找到它们的位置,或相应地配置 location 属性。在调试模式下运行 Maven 可以帮助您了解问题所在。 (构建可能还需要执行site 阶段以生成报告,具体取决于 POM 的配置方式。)
    • 确实有帮助。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 2020-12-19
    相关资源
    最近更新 更多