Подтвердить что ты не робот

Плагин Maven Cobertura не генерирует cover.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, но cover.xml нигде не встречается. Что мне не хватает/непонимания?

Я запускаю Maven 3.0.3

4b9b3361

Ответ 1

Я по-прежнему новичок в связях между плагинами Maven и Hudson и плагинами - так что это не разумный ответ, но помощь в Google очень мало и далека от этой проблемы - так что, надеюсь это помогает кому-то в будущем.

Проведя еще несколько часов с настройками, я обнаружил, что cover.xml просто не создается локально.

Это комбинация, которая заработала:

  • Я изменил свою версию на 2.2 в моем POM (я получал ресурс не найдены ошибки из Apache с 2.5.1)
  • Добавлен cobertura: cobertura в моей цели Гудзона
  • Установите шаблон покрытия Cobertura на рекомендуется **/target/site/cobertura/coverage.xml

Ответ 2

Я помещаю плагин в раздел сборки, и он работает:

<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.

Ответ 3

Добавьте строки к вашему приложению. Цели: (раздел конфигурации приложения в 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>

Ответ 4

У меня была такая же проблема, но она разрешилась прямо сейчас: Просто добавьте -Dcobertura.report.format=xml после команды maven. Он должен работать

Ответ 5

Моя цель состояла в том, чтобы заставить Cobertura запустить duing 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>

Ответ 6

У меня такая же проблема, что и 2.6 плагина.

Я обнаружил, что когда я указываю оба типа, я получаю только html.

           <formats>
               <format>html</format>
               <format>xml</format>
           </formats>

Но когда я укажу только xml, я получаю отчет xml.

           <formats>
               <format>xml</format>
           </formats>

Вероятно, это ошибка в плагине.

Другой пользователь предложил создать два исполнения. Я пробовал это без успеха (это означает, что я получил html, но не xml).

Ответ 7

Обновите свой 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)

Ответ 8

Это два способа интегрировать Cobertura в Maven.

  • Поместите Cobertura в секцию сборки файла pom, тогда вам нужно выполнить mvn clean cobertura: cobertura для создания отчетов. Если у вас настроены XML и HTML, вы получаете оба отчета.
  • Поместите Cobertura в раздел отчета pom файла, затем вы должны выполнить mvn clean site для создания отчетов. Если у вас настроены XML и HTML, вы получаете оба отчета. Кроме того, вы получаете сгенерированный сайт (open target/site/index.html) со всеми интегрированными отчетами, например. Coberture, Checkstyle,...