【问题标题】:Sonar 5.2 & Cobertura Plugin doesn't work声纳 5.2 和 Cobertura 插件不起作用
【发布时间】:2015-12-22 15:00:15
【问题描述】:

我们升级到了 Sonar 5.2。但是现在,处理声纳报告的任务失败了:

2015.12.21 16:08:20 ERROR [o.s.s.c.t.CeWorkerRunnableImpl] Failed to execute task AVHFFR9SqYJURQAYr8yb
java.lang.IllegalArgumentException: There's no changeset on line 59
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:125) ~[guava-17.0.jar:na]
    at org.sonar.server.computation.scm.ScmInfoImpl.getChangesetForLine(ScmInfoImpl.java:64) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.scm.DbScmInfo.getChangesetForLine(DbScmInfo.java:69) ~[sonar-server-5.2.jar:na]
    at org.sonar.server.computation.step.NewCoverageMeasuresStep$NewCoverageCounter.initialize(NewCoverageMeasuresStep.java:391) ~[so

如果我卸载版本为 1.6.3 的 Cobertura 插件,则报告过程可以正常工作。但这对我来说不是解决方案,因为我需要这些报告。有没有人成功地以另一种方式解决了这个错误?

问候

【问题讨论】:

    标签: jenkins sonarqube cobertura sonarqube5.2


    【解决方案1】:

    两个想法:

    1) 您的问题似乎与this discussion on SonarQube's group 有关。检查您的cobertura.xml file 中是否有这样的line number="0"。不幸的是,修复计划用于 SonarQube 5.4(即 04/Mar/16。)

    2) 根据您与 Cobertura 报告生成相关的确切需求,如果您使用 Maven,您可以尝试使用QualInsight Maven Cobertura plugin 来生成您的 Cobertura 报告。这个插件提供了qualinsight-mojo-cobertura-core mojo,如果您的构建是基于 Maven 的,您可能正在使用的 cobertura-maven-plugin mojo 的替代品。 QualInsight Maven Cobertura 插件为 UT、IT 和综合测试覆盖率生成单独的报告。它生成标准的cobertura.xml 报告,但也能够将它们转换为SonarQube Generic Test Coverage plugin 格式。

    qualinsight-mojo-cobertura-core 生成的报告可能不会包含导致问题的数据 + 可能使用 SonarQube 的 Generic Coverage 插件而不是 SonarQube 的 Cobertura 插件不会导致您遇到异常(它于 9 天前发布并针对 SQ 5.2 进行了测试,而 Cobertura 插件最后一次发布是在 2014 年 9 月)

    如果想尝试一下并需要帮助/对此解决方案有疑问,请询问(我是开发人员 QualInsight Maven Cobertura 插件。)

    问候,

    【讨论】:

    • 嘿!感谢您的回复和帮助。我用通用覆盖插件试过了。所以你认为我可以使用 Cobertura 生成报告,然后在声纳上使用通用覆盖插件而不是 cobertura 插件? Maven 有很多这样的警告,然后“[警告] 类 'net/sourceforge/cobertura/coveragedata/LightClassmapListener' 无法通过 ClassLoader 访问。”最后它无法生成报告\target\site\cobertura\coverage.xml:未知覆盖版本:2.1.1。此解析器仅处理版本 1。
    • 嗨,不,您将无法将通用覆盖插件与cobertura-maven-plugin 一起使用,因为通用覆盖插件不理解输出格式。这就是为什么我写了你应该尝试将它与替代 Maven 插件 qualinsight-mojo-corbertura 结合使用。
    猜你喜欢
    • 2013-05-29
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多