代码之家  ›  专栏  ›  技术社区  ›  John Q Citizen

生成Cobertura覆盖率报告时,Hudson构建失败,出现NoClassDefFoundError

  •  3
  • John Q Citizen  · 技术社区  · 12 年前

    我在与Hudson和Maven一起生成Cobertura报告时遇到了问题,我希望这里有人能找到解决方案。

    我可以看到,当hudson构建我的项目时,会生成cobertura工件。但是,当我将hudson项目配置为发布Cobertura覆盖率报告时,我发现构建失败,并出现以下错误:

    Publishing Cobertura coverage report ...
    Publishing Cobertura coverage results ...
    FATAL: org/jfree/chart/axis/CategoryAxis
    java.lang.NoClassDefFoundError: org/jfree/chart/axis/CategoryAxis
      at hudson.plugins.cobertura.CoberturaXmlHandler.startDocument(...)
    

    构建输出显示Java版本为1.6.0_38

    如果我配置我的项目,使Cobertura覆盖率报告不生成,那么构建成功。

    hudson上安装了以下插件:

    • Findbugs(版本4.41-h-2)
    • 格子样式(版本3.28-h-1)
    • Cobertura(版本1-6-h-1)
    • 静态分析采集器(1.28-h-1版)
    • 静态分析实用程序(版本1.42-h-1)
    • Maven 3内部版本(3.0.0版)

    使用以下maven命令:

    • 清理安装findbugs:findbugs检查样式:检查样式cobertura:cobertura

    关于如何解决这个问题有什么建议吗?

    1 回复  |  直到 12 年前
        1
  •  1
  •   guido    12 年前

    您需要安装 JFreeChart plugin 同样,在cobertura中生成图表也需要它(这就是为什么该类在运行cobertur时没有发现异常),但它已经 been removed 来自主要哈德森分布:

    (JFreeChart…)已移动到外部插件。可从Alpha版本获得。任何 使用JFreechart的外部插件需要添加对 这个外部插件以保持兼容性。用于未来的图表 needs BIRT图表现在被捆绑为一个核心插件

    编辑:如图所示,在可传递依赖项中存在一个错误 here . 安装cobertura插件版本1.6-h-3。 mvn