Я использую Maven и FindBugs в большом проекте. Я хотел бы, чтобы сборка maven завершилась ошибкой, если FindBugs выдает какие-либо ошибки с высоким приоритетом. Простой параметр может быть установлен в pom.xml для отказа при ошибках, но мне нужно, чтобы он не работал при предупреждениях с высоким приоритетом. Любые предложения будут огромными!
Maven + FindBugs - сбой при предупреждении с высоким приоритетом
Ответы (1)
Я подозреваю, что вы уже знаете о цели findbugs:check, доступной для плагина. Установка для элемента конфигурации порогового значения значения «Высокий» должна ограничить цель сбоем только для проблем с высоким приоритетом.
Вот пример фрагмента конфигурации для вашего pom.xml
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<id>failing-on-high</id>
<phase>process-test-resources</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<threshold>High</threshold>
<onlyAnalyze>com.example.-</onlyAnalyze>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
В этом фрагменте я ограничил анализ пакетами, начинающимися с «com.example», установил пороговое значение «Высокий» и настроил findbugs:check для запуска перед автоматическими тестами.
Пример того, как это вызывает сбой сборки:
[INFO] --- findbugs-maven-plugin:2.4.0:findbugs (findbugs) @ channels ---
[INFO] Fork Value is true
[java] Warnings generated: 29
[INFO] Done FindBugs Analysis....
[INFO]
[INFO] <<< findbugs-maven-plugin:2.4.0:check (failing-on-high) @ channels <<<
[INFO]
[INFO] --- findbugs-maven-plugin:2.4.0:check (failing-on-high) @ pricing ---
[INFO] BugInstance size is 29
[INFO] Error size is 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
См. также: http://mojo.codehaus.org/findbugs-maven-plugin/check-mojo.html для других параметров конфигурации, которые вы можете включить. Вы, вероятно, захотите включить отчет xml, чтобы ваш CI-сервер мог легко записывать его и сообщать об ошибках, используя конфигурацию xmlOutput.
mvn clean install findbugs:check
с вышеуказанным в моем pom.xml, в проекте только с предупреждениями о низком приоритете, я получаю ошибку сборки из-за findbugs. Это похоже на то, что он полностью игнорирует порог.
- person ; 18.05.2012