Плагин SpotBugs Maven исключает каталог

Я использую плагин SpotBugs Maven для статического анализа и хотел бы исключить каталог из проверки. Глядя на spotbugs:check Цель документации, похоже, что не представляется возможным настроить плагин таким способом. Я также проверил документацию для файла фильтра SpotBugs.

В плагине Apache Maven PMD это можно сделать с помощью параметра excludeRoots:

<excludeRoots>
  <excludeRoot>target</excludeRoot>
</excludeRoots>

Можно ли исключить каталог из проверки SpotBugs?

1 ответ

Можно исключить каталог из проверки с помощью SpotBugs, хотя подход отличается от того, который вы описали для PMD. Это двухэтапный процесс:

  1. Сначала создайте файл фильтра XML с указанием критериев для исключаемых каталогов.

  2. Затем в pom.xml ссылаются на этот файл, используя <excludeFilterFile> установка. К сожалению, документация для этого параметра очень краткая.

В качестве простого примера:

  1. Создайте файл фильтра с именем ignore.xml, содержащий следующее, которое ссылается на каталог с именем mydir:

    <?xml version="1.0" encoding="UTF-8"?>
    <FindBugsFilter>
        <Match>
            <Source name="~mydir\..*"/>
        </Match>
    </FindBugsFilter>
    

    Документация для <Source>тег здесь. См. Раздел о сопоставлении имен элементов Java для получения подробной информации о том, как указать имя <Source>,

  2. Затем вpom.xml, в спецификации для spotbugs-maven-plugin, включите<excludeFilterFile> тег, чтобы mydir игнорировался SpotBugs:

    <configuration>
      <excludeFilterFile>ignore.xml</excludeFilterFile>
    </configuration>
    

Заметки:

  • Также есть <includeFilterFile> тег. См. Раздел " Определение фильтров ошибок" в документации по использованию.

  • Так же как SourceSpotBugs предоставляет несколько других способов указать, какой код должен быть включен или исключен из проверки. См. Документацию файла фильтра для Package, Class, Method, Local, Field а также Type теги.

Другие вопросы по тегам