2013-02-19 52 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