2012-01-18 4 views
1

Я запускаю findbugs и maven с этим плагином, а затем сборка не удается, даже если я запустил ошибки поиска с максимальным значением от 20 до Eclipse, я получаю 0 ошибок. Теперь он не с 33.Maven с Findbugs

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>findbugs-maven-plugin</artifactId> 
    <version>2.0.1</version> 
    <configuration> 
     <threshold>Ignore</threshold> 
     <xmlOutput>true</xmlOutput> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>verify</phase> 
     <goals> 
      <goal>check</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

два вопроса:

Почему такое расхождение между плагин Eclipse, FindBugs и плагин Maven FindBugs?

Могу ли я каким-либо образом заставить Eclipse Findbugs загрузить findbugscheck.xml, сгенерированный из Maven Findbugs, так что мой код будет автоматически выделен. Рыбалка через XML-файл очень раздражает.

ответ

1

Несоответствие между плагином Eclipse Findbugs и плагином findbugs-maven, вероятно, связано с этими двумя предложениями, используя различные версии утилиты Findbugs. Каждое из этих предложений запускает утилиту FindBugs (found here), а затем анализирует выходные данные утилиты и отображает результаты. Файл findbugs-maven-plugin-2.0.1 основан на Findbugs 1.3.8. Я не могу сказать, какую версию Findbugs использует ваш плагин Eclipse.

Утилита Findbugs поддерживает некоторые command line options (например, -effort: max, -effort: min), которые могут влиять на результаты. Плагин Eclipse Findbugs и findbugs-maven-plugin могут поставлять различные параметры командной строки, что приводит к несоответствию результатов. Возможно, можно устранить это несоответствие, если они оба предлагают конфигурацию для этих параметров командной строки.

Плагин Eclipse Findbugs предлагает некоторую фильтрацию результатов в представлении плагина внутри Eclipse. Фильтрация доступна в виде плагина в виде значка на панели инструментов (не на 100% уверенном в местоположении этого, так как я не нахожусь в моем блоке dev на данный момент).

Кроме того, из FindBugs website:

"FindBugs поддерживает архитектуру плагинов, позволяющий любому добавлять новые детекторы ошибок."

Это может означать, что плагин Eclipse подключен к другим детекторам ошибок, но я не знаю, что это так, это просто возможность быть указаным. Я никогда не нашел способ заставить плагин Eclipe Findbugs загрузить файл findbugscheck.xml из сборки maven.

ETA: Вместо того, чтобы ловить рыбу через результаты поиска xml вручную, вы можете попробовать запустить Findbugs GUI и использовать его для загрузки и просмотра результатов.