2013-02-19 3 views
3

У меня возникла проблема с созданием отчета Cobertura с Хадсоном и Мейвеном, и я надеюсь, что у кого-то здесь может быть решение.Hudson build failing с NoClassDefFoundError при создании отчета о покрытии Cobertura

Я вижу, что артефакты cobertura генерируются, когда hudson строит мой проект. Но когда я устанавливаю мой проект 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-ч-2)
  • Checkstyle (версия 3.28-ч-1)
  • Cobertura (версия 1-6-ч -1)
  • Статический анализ коллектора (версия 1,28-ч-1)
  • Статический анализ Утилиты (версия 1,42-ч-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

EDIT : есть ошибка в транзитивной зависимости, как видно here. Установите версию cobertura-plugin 1.6-h-3. mvn

+0

Спасибо за ответ. По словам моего менеджера плагинов Хадсона, плагин JFreeChart (версия 1.4) уже установлен. –

+0

все еще, один из классов в jfreechart jar не найден по исключению, проверьте свой путь к классам –

+0

Я не устанавливаю явный путь к классам: устанавливаю JDK 1.6.0_38, устанавливаю Tomcat как службу, устанавливаю Hudson WAR в Tomcat, затем настройте Хадсона на использование Cobertura и других плагинов. Возможно, есть файл jar где-то в Tomcat или в JDK, который конфликтует с jfree jar в плагине? Если так, я не уверен, как это сделать ... –

Смежные вопросы