Как создать html-отчет для поиска ошибок с помощью Maven 3.x

Кому-нибудь удалось настроить плагин findbugs Maven 3.x для создания отчета как в формате xml, так и в формате html? (Мне нужен xml для Jenkins и html для проверки перед фиксацией)

Я видел много документации в Интернете по настройке, но большая часть из них кажется для Maven 2.x, который, как я знаю, настроен по-другому (досадно, что конфигурация 2.x молча игнорируется 3.x). Я новичок в Maven, поэтому не уверен, что делаю что-то не так или следую старым инструкциям.

Мой пом содержит следующее:

</build>
    </plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3</version>
            <configuration>
                <!-- findbugs:help -Ddetail=true  for outputDirectory:
                     Location where generated html will be created. 
                 -->
                <outputDirectory>${project.build.directory}/findbugs</outputDirectory>

                <xmlOutput>true</xmlOutput>
                <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                <xmlOutputDirectory>target/findbugs</xmlOutputDirectory>
                <failOnError>false</failOnError>
            </configuration>
        </plugin>
    </plugins>
</build>

person Stormcloud    schedule 19.12.2011    source источник


Ответы (2)


Findbugs-Plugin должен быть в reportPlugins-Part плагина maven-site-plugin.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-site-plugin</artifactId>
      <configuration>
        <reportPlugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
          </plugin>
        </reportPlugins>
      </configuration>
    </plugin>
  </plugins>
</build>

Кроме того, findbugs-report генерируется только тогда, когда исходный код компилируется до запуска mvn site. При создании сайта я использую mvn test site, поэтому findbugs генерирует отчет.

person Corubba    schedule 20.12.2011
comment
Идеально. Только одно: мне пришлось добавить ‹версия›2.3.3‹/версия› во внутренний плагин, чтобы избавиться от предупреждающего сообщения maven. Спасибо - person Stormcloud; 20.12.2011
comment
Кстати, возможно ли, чтобы это правило выполнялось как часть жизненного цикла сборки? Я бы хотел, чтобы findbugs не выполнял сборки, если обнаруживает что-то серьезное (ему также потребуется создать отчет HTML, чтобы я мог выяснить, что пошло не так) - person Stormcloud; 20.12.2011
comment
Согласно веб-сайту плагина, существует цель findbugs:check, которая по умолчанию привязана к фазе проверки и допускает сбой сборки из-за любой ошибки. Но из этой цели будет выводиться только xml. - person Corubba; 21.12.2011
comment
Спасибо за информацию. Это объясняет, почему у меня было так много проблем, пытаясь заставить его работать! Это странный и болезненный способ работы - если findbugs собирается сломать сборку (мое требование), то я хотел бы, чтобы человекочитаемый отчет сказал мне, почему! Ну что ж... - person Stormcloud; 21.12.2011

Проверьте мой ответ на аналогичный вопрос, где я предлагаю использовать преобразования XSLT, поставляемые с Findbugs, для создания отчета HTML во время выполнения команды mvn clean install .

person rozky    schedule 28.04.2012