Ограничьте классы для анализа Findbugs в maven

Как я могу ограничить классы для анализа только для некоторых пакетов. В модуле я не хочу, чтобы findbugs для Maven запускался для некоторых пакетов. Как я могу их исключить. Есть ли способ указать пакеты, которые должны быть устранены с помощью Findbugs of Maven?


person Richi Mathur    schedule 26.11.2012    source источник


Ответы (1)


См.: http://mojo.codehaus.org/findbugs-maven-plugin/usage.html

Используйте mvn site, а не mvn findbugs:findbugs

Вам необходимо использовать файлы фильтра include exclude в теге конфигурации или onlyAnalyze.

<reporting>
<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <version>2.5.2</version>
    <configuration>
      <excludeFilterFile>src/main/resources/findbugs-exclude.xml</excludeFilterFile>
      <includeFilterFile>src/main/resources/findbugs-include.xml</includeFilterFile>
      <onlyAnalyze>com.packagename.*</onlyAnalyze>
    </configuration>
  </plugin>
</plugins>

Sample filter file

<FindBugsFilter>
<Match>
    <Package name="~com\.ly\..*"/>
</Match>

person appbootup    schedule 26.11.2012
comment
Я написал файл exclude.xml, но он не пропустил анализ этих пакетов. Мой текущий каталог: A Иерархия папок: A/src/main/com/ly/om/sn Файл Excelude.xml code ‹FindBugsFilter› ‹Match› ‹Package name=~.com\.ly\.om\.sn\. * /› ‹/Match› ‹/FindBugsFilter› Что здесь не так? - person Richi Mathur; 26.11.2012
comment
Как мы можем проверить, был ли выбран наш файл фильтра, когда я запускаю сайт mvn. Поскольку я не вижу в отчете, что были исключены пакеты, которые были упомянуты в файле exclude-filter. - person Richi Mathur; 27.11.2012
comment
Я проверил это, добавив и удалив пакет с известной ошибкой findbugs. - person appbootup; 27.11.2012
comment
Хорошо. Тогда это означает, что мой файл фильтра не был подобран. Поскольку я вижу, что ошибка, вызванная пакетом, указана в файле исключения :| - person Richi Mathur; 27.11.2012
comment
У нас есть файл фильтра, зарегистрированный в src/main/resources, и мы ссылаемся на него в ‹excludeFilterFile›. Кроме того, вы можете попробовать поиграть с ‹inherited›false‹/inherited›. Примечание: kohsuke.org/2011/08/23/ - person appbootup; 27.11.2012
comment
Я обновил файл фильтра и добавил тег excludeFilterFile. Пытался выполнить команду с помощью $FINDBUGS_HOME/bin/findbugs -textui -exclude /view/xyz/findbugs-exclude.xml app/ Но я вижу, что он не подбирает файл, поскольку не игнорирует общий пакет. Добавлен файл фильтра как ‹FindBugsFilter› ‹Match› ‹Package name=~com\.sn\.common\.* /› ‹/Match› ‹/FindBugsFilter› - person Richi Mathur; 27.11.2012