Ограничете класовете, които да бъдат анализирани от Findbugs в maven

Как мога да огранича класовете, които да бъдат анализирани само за някои пакети. В модул не искам findbugs за Maven да се изпълняват за някои пакети. Как да ги изключа. Има ли някакъв начин да посочите пакетите, които да бъдат елиминирани от Findbugs на Maven


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


Отговори (1)


Моля, вижте - http://mojo.codehaus.org/findbugs-maven-plugin/usage.html

Използвайте mvn site, а не mvn findbugs:findbugs

Трябва да използвате включване на филтърни файлове за изключване под конфигурационен етикет или 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/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 site. Тъй като не виждам в отчета, че пакетите са били изключени, които са споменати във файла за филтър за изключване. - 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