Плагин Maven Cobertura не генерирует покрытие.xml
Я пытаюсь создать файл cover.xml, чтобы я мог ссылаться на него в плагине Cobertura из Hudson, но файл не создается.
Я добавил следующее к своему POM
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
После запуска mvn cobertura:cobertura HTML-сайт генерируется, как и ожидалось, в папке **\target\site\cobertura, но охват.xml нигде не найден. Что я упускаю / недоразумение?
Я бегу Maven 3.0.3
8 ответов
Я все еще новичок в связях между Maven Plugins и Hudson и его плагинами - так что это ни в коем случае не разумный ответ, но помощь по Google очень мала, и далеко не всегда для этой проблемы - так что, надеюсь, это поможет кому-то в будущем.
Потратив еще несколько часов на настройку параметров, я обнаружил, что cover.xml просто не создается локально.
Вот комбинация, которая заставила его работать:
- Я изменил свою версию на 2.2 в моем POM (я получал ресурс не найдены ошибки от Apache с 2.5.1)
- Добавлена cobertura:cobertura в моей цели Гудзона
- Установите шаблон покрытия Cobertura на рекомендуемый **/target/site/cobertura/cover.xml
Добавьте следующие строки в ваше приложение Цели:(настройка раздела приложения в jenkins)
cobertura:cobertura -Dcobertura.report.format=xml
Изменения в pom.xml:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
Я вставил плагин в раздел сборки, и он работает:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</build>
Раздел отчетности и его отличия от раздела плагинов описаны здесь. Я не знаю, если это проблема maven [3.0.4] или cobertura-plugin.
Моя цель состояла в том, чтобы заставить Кобертуру управлять mvn test
без дополнительных параметров командной строки. Вот волшебный XML, который помог мне, и HTML, и XML генерируются в /target/site/cobertura
,
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>cobertura</id>
<phase>test</phase>
<goals>
<goal>cobertura</goal>
</goals>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
У меня была та же проблема, но она решена прямо сейчас: просто добавьте -Dcobertura.report.format=xml
после твоего командования Он должен работать
У меня та же проблема с использованием 2.6 плагина.
Я обнаружил, что когда я указываю оба типа, я получаю только HTML.
<formats>
<format>html</format>
<format>xml</format>
</formats>
Но когда я указываю только xml, я получаю отчет xml.
<formats>
<format>xml</format>
</formats>
Это, вероятно, ошибка в плагине.
Другой пользователь предложил создать два исполнения. Я попытался это безуспешно (то есть я получил HTML, но не XML).
Обновите файл POM как
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
Это сработало для меня: вероятная причина - это последняя версия cobertura-maven-plugin (2.7)
Это два способа интеграции Cobertura в Maven.
- Поместите Cobertura в раздел build файла pom, затем вам нужно выполнить mvn clean cobertura:cobertura для генерации отчетов. Если у вас настроены XML и HTML, вы получите оба отчета.
- Поместите Cobertura в раздел отчетов файла pom, затем вам нужно выполнить mvn clean site для генерации отчетов. Если у вас настроены XML и HTML, вы получите оба отчета. Кроме того, вы получаете сгенерированный сайт (open target/site/index.html) со всеми интегрированными отчетами, например, Coberture, Checkstyle, ...