2011-12-19 2 views
12

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

Я видел много документации на веб-сайте по их настройке, но большинство из них появляется быть для 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> 

ответ

20

FindBugs-плагин должен быть в reportPlugins-Части Maven-сайте-плагин.

<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-отчет генерируется только тогда, когда источник скомпилированы перед запуском mvn site. Когда вы создаете сайт, я использую mvn test site, поэтому findbugs генерируют отчет.

+0

Perfect. Только одно: мне пришлось добавить 2.3.3 во внутренний плагин, чтобы избавиться от предупреждающего сообщения maven. Спасибо – Stormcloud

+2

Кстати, возможно ли, чтобы это правило выполнялось как часть жизненного цикла сборки? Я бы хотел, чтобы findbugs выходили из строя, если он обнаружил что-то серьезное (ему также нужно будет генерировать HTML-отчет, чтобы я мог узнать, что пошло не так) – Stormcloud

+0

Согласно плагину-сайту, есть findbugs: check goal, that привязывается к фазе проверки по умолчанию и позволяет сборке сбой при любой ошибке. Но из этой цели будет только xml. – Corubba

3

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