2012-03-06 2 views
1

У меня есть плагин findbugs, который отлично работает в моей настройке maven. Я установил findbugs для выполнения на этапе компиляции. Однако я заметил, что он работает на этапе тестирования, потому что этап тестирования также вызывает компиляцию. Поскольку у меня есть автоматизированный конвейер сборки, который выполняет все мои задачи, мне не нужны findbugs для запуска на этапе тестирования. Я попытался исключить findbugs из этапа тестирования со следующим, но не повезло.Maven - плагин FindBugs - исключение из фазы тестирования

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>findbugs-maven-plugin</artifactId> 
    <version>2.4.0</version> 
    <inherited>true</inherited> 
    <configuration> 
     <failOnError>${findbugs.failOnError}</failOnError> 
     <skip>${findbugs.skip}</skip> 
     <trace>${findbugs.trace}</trace> 
    </configuration> 
    <executions> 
     <execution> 
      <phase>compile</phase> 
      <goals> 
       <goal>check</goal> 
      </goals> 
     </execution> 
     <execution> 
      <id>findbugs-test-compile</id> 
      <phase>test</phase> 
      <goals> 
       <goal>check</goal> 
      </goals> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

ответ

1

Это не будет вызываться, основываясь на управлении через жизнь cylcle с помощью компиляции он просто работает потому что вы настроены на две казни один в тесте и один на этапе компиляции. Findbugs обычно должны запускаться в области отчетности (сайте). Просто сделать одно исполнение:

<executions> 
     <execution> 
      <id>findbugs-test-compile</id> 
      <phase>test</phase> 
      <goals> 
       <goal>check</goal> 
      </goals> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
     </execution> 
    </executions> 

Тот, который вы хотели бы иметь. Но я рекомендую прочитать documentation, потому что он должен работать только в области отчетов (через сайт).

UPDATE:
Если вы хотите запускать FindBugs только во время генерации сайта, чем просто удалить его из обычного района построить и ввести в области отчетности вместо этого.

+0

У меня была проблема с поисковыми машинами, запущенными на тестовой фазе, с этой второй секцией . Я добавил второй , чтобы установить его на . Другими словами, если я удалю второй с этапом тестирования в нем, findbugs все равно будут выполняться, если я выведу mvn-тест. – Bellini

+0

Вопрос в том, почему вы хотите запускать findbugs во время цикла компиляции? Обычный вариант использования - запустить его во время генерации сайта. Простые вопросы: когда вы хотите запустить findbugs? – khmarbaise

+0

Спасибо, что нашли время, чтобы обсудить это. Я хочу запустить его во время компиляции, поэтому сборка может завершиться неудачей, если будут найдены новые ошибки. Создание сайта не является частью нормальной настройки. Я создаю сайт только в том случае, если все строит и проходит все тесты правильно. Обратите внимание, что моя работа не является «сайтом», а сервером back end, поэтому сайт строго используется в моем случае для генерации информации о проекте и отчетности. – Bellini

Смежные вопросы