Требуется ли для задачи FindBugs Ant файл JAR?

документация FindBugs для задач Ant немного сбивает с толку. Я традиционно всегда использовал FindBugs через плагин Eclipse, где вы просто выбираете свой проект и нажимаете «FindBugs», чтобы получить отчет.

В задаче findbugs Ant имеется вложенный элемент <class>, который:

[n] необязательный вложенный элемент, указывающий, какие классы анализировать.

Основываясь на примерах, которые я вижу, похоже, что FB на самом деле требует, чтобы вы сначала JAR-файл вашего проекта, прежде чем запускать на нем задачу FB.

Может ли кто-нибудь подтвердить это и объяснить, что такое элемент class? Описание довольно расплывчато для новичка вроде меня, чтобы понять.

Во-вторых, и это более важно, мой проект на самом деле представляет собой файл веб-приложения Java (WAR).

Итак, если я не ошибаюсь, и если FB должен иметь JAR для проведения анализа, то моя стратегия будет состоять в том, чтобы создать «временный JAR» моего проекта прямо внутри цели <target name="findbugs"> и просто составить его. всех моих скомпилированных классов Java. Это не будет исполняемым файлом, а просто не удовлетворит FB и будет удалено как часть более поздней сборки.

Я далеко от базы здесь? Какова стандартная рабочая процедура для разработчиков веб-приложений Java для использования FB в своих сборках Ant? Заранее спасибо!


person IAmYourFaja    schedule 06.10.2012    source источник
comment
Например, как настроить JAR-файлы задач FB ANT. .com/questions/12744819/findbugs-issue-with-ant/   -  person Mark O'Connor    schedule 06.10.2012


Ответы (1)


Если вы загрузите сам FindBugs (в моем случае версия 2.0.1) и запустите графический интерфейс из прилагаемого пакетного файла, он ограничит типы файлов, которые вы можете поместить в проект для анализа: в диалоговом окне «Новый проект» до «jar , война, ухо, зип, сар". Итак, я думаю, будет достаточно заархивировать ваши файлы .class - в конце концов, .jar - это просто zip ваших файлов .class в их структуре папок, плюс добавленный файл манифеста.

Однако, если вы откроете папку с незаархивированными исходными файлами, FindBugs все же попытается провести анализ.

[Обновление Наконец-то мне удалось заставить муравьиную задачу FindBugs работать в моей системе. Это определенно работает с файлами классов. Пришлось немало потрудиться, чтобы запустить его, так как есть несколько сложных проблем, для решения которых требовалось чтение исходного кода. Например, сложно включить свои собственные банки, например. для использования ведения журнала log4j некоторые параметры, которые могли бы вам помочь, недокументированы, а минимальный ранг для сообщения об ошибке довольно высок и не может быть снижен, насколько я знаю. Если у вас есть какие-либо проблемы, сообщите мне, я буду рад помочь.]

person RobertG    schedule 07.11.2012
comment
У меня проблема с использованием findbugs с ANT. Я следую этому findbugs.sourceforge.net/manual/anttask.html, но не могу не бежать. - person user3707644; 20.02.2017
comment
не могли бы вы описать шаги, которые вы предприняли, чтобы запустить его. Спасибо - person user3707644; 20.02.2017
comment
Очень извиняюсь, но спустя столько лет (сменив компанию и всё такое за это время) я больше не могу получить доступ к этому коду (и к этой личной памяти, если уж на то пошло) :( Если указать вашу конкретную проблему (+ выводы и т.д...) подробнее, и сделайте еще вопрос на этом сайте, могу глянуть, хотя - person RobertG; 28.02.2017