Maven Cobertura plugin не генерирует покрытие.XML


Я пытаюсь создать покрытие.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-сайт генерируется, как и ожидалось, в * * targetsitecobertura, но покрытие.xml нигде не найден. Что я упускаю/недопонимаю?

Я запускаю Maven 3.0.3

8 39

8 ответов:

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

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

Добавьте следующие строки к целям приложения: (настройка раздела Приложения в jenkins)

cobertura:cobertura -Dcobertura.report.format=xml

Пом.изменения 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>

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

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

Это комбинация, которая заставила его работать:

  1. я изменил свое мнение. версия до 2.2 в моем POM (я получал ресурс не найдено ошибок от Apache с 2.5.1)
  2. добавлено cobertura: cobertura в моей цели Гудзона
  3. Установите шаблон покрытия Cobertura на рекомендуется **/целевой/строительного/измерения/покрытия.xml

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

Моей целью было заставить 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>

У меня та же проблема с использованием 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>

Это сработало для меня: вероятная причина это contanis последняя версия cobertura-maven-plugin (2.7)

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

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