Плагин Maven Cobertura не генерирует покрытие.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 ответов


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

<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 в рекомендуемая * * / цель / сайт / 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 в построить раздел файла pom, то вы должны выполнить mvn clean cobertura: cobertura для создания отчетов. Если у вас настроены XML и HTML, вы получаете оба отчета.
  2. положите Cobertura в отчетность раздел файла pom, то вы должны выполнить mvn чистый сайт для создания отчетов. Если вы настройте XML и HTML, затем вы получите оба отчета. Кроме того, вы получаете сгенерированный сайт (open target/site/index.html) со всеми интегрированными отчетами, например Coberture, Checkstyle, ...