2013-02-19 97 views
3

我在生成Hudson和Maven的Cobertura报告时遇到了问题,我希望这里的某个人可能有解决方案。Hudson在生成Cobertura覆盖报告时生成失败,显示NoClassDefFoundError

我可以看到,当哈德森建立我的项目时会产生cobertura工件。但是,当我配置我的哈德森项目发布的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覆盖报告,然后构建成功。

以下插件被安装在哈德森:

  • FindBugs的(版本4.41-H-2)
  • Checkstyle的(版本3.28-H-1)
  • 的Cobertura(版本1-6小时-1)
  • 静态分析收集器(版本1.28-H-1)
  • 静态分析实用程序(版本1.42-H-1)
  • Maven的3生成(3.0.0版本)

以下Maven命令用于:

  • 全新安装的FindBugs:FindBugs的CheckStyle的:CheckStyle的的Cobertura:的Cobertura

就如何解决这个问题有什么建议?

回答

1

您需要安装JFreeChart plugin为好,它需要在的Cobertura生成图表(这就是为什么类未发现异常,同时运行的Cobertura),但它具有beenremoved从主哈德森分布:

(JFreeChart ...) Moved to an external plugin. Available from Alpha release. Any external plugins using JFreechart will need to add a dependency on this external plugin to maintain compatibility. For future charting needs BIRT Charts is now bundled as a core plugin

编辑:在看到here时,存在传递依赖关系中的错误。 安装cobertura-plugin版本1.6-h-3。 mvn

+0

感谢您的回复。根据我的哈德森插件管理器JFreeChart插件(版本1.4)已经安装。 – 2013-02-19 03:54:54

+0

仍然没有找到jfreechart jar中的一个类作为异常,请检查您的类路径 – 2013-02-19 03:57:20

+0

我没有明确设置类路径:我安装JDK 1.6.0_38,将Tomcat作为服务安装,在Tomcat中安装Hudson WAR,然后将Hudson配置为使用Cobertura和其他插件。也许在Tomcat或JDK中有一个与插件中的jfree jar冲突的jar文件?如果是这样我不知道如何去解决这个问题... – 2013-02-19 23:40:25