Подтвердить что ты не робот

FindBugs не показывает найденные ошибки

Я использовал FindBugs раньше, и у меня не было проблем, однако на этот раз на Eclipse Helios на ошибках Ubuntu Natty Narval найдены, но не показаны.

Вот что я пробовал:

  • Щелкните правой кнопкой мыши по проекту > Найти ошибки > Найти ошибки
  • Глядя на прогресс, я увидел 3 ошибки найдены
  • В представлении "Проблемы" они не указаны

Я попытался перейти к своей собственной перспективе: Open Perspective > Other > FindBugs, но Bug Explorer пуст.

Любые идеи для просмотра этих ошибок?

ОБНОВЛЕНИЕ: В журнале ошибок Eclipse я вижу:

!ENTRY edu.umd.cs.findbugs.plugin.eclipse 2 2 2011-06-18 21:13:24.968
!MESSAGE The following classes needed for FindBugs analysis on project **
     were missing:
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.CommandLine
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.DefaultExecutor
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.ExecuteException

ОБНОВЛЕНИЕ 2: Я не знаю, как исправить Eclipse, но я нашел обходное решение. Я добавил отчет findbugs в maven pom.xml

<reporting>
    <plugins>
        [...]
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3-SNAPSHOT</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional derectory to put findbugs xdoc xml report -->
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
            </configuration>
        </plugin>
    </plugins>
</reporting>

Следующая конфигурация создает отчет HTML в файле target/site/findbugs.html

4b9b3361

Ответ 1

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

У меня была та же проблема (30 ошибок, обнаруженных в Open Analysis Results in Editor), но ни один из них не отображается в "Проблемы" или "Поиск ошибок". Для меня работали следующие:

1. Project -> Properties -> Find Bugs
2. Enable Project Specific Settings
3. Check everything under Report Visible Bug Categories
4. Slide minium rank to report to 20
5. Set minimum confidence to Low
6. Rerun FindBugs

Ответ 2

Это может быть проблема конфигурации вашего представления проблем. Выполните следующие шаги, чтобы убедиться, что результаты поиска найдены в представлении проблем:

  • Выберите вид проблем (нет предупреждений об ошибках поиска или ошибок)
  • Выберите в раскрывающемся меню вид проблем (кнопка Caret down) пункт меню "Configure Contents..."
  • Выберите в левом боковом направлении, например. "Ошибки/предупреждения по проекту"
  • Убедитесь, что с правой стороны в списке "Типы" выбраны все типы "Findbugs".
  • Завершите конфигурацию представления.

Теперь представление проблем должно показать вам 3 вывода ранее.

В качестве альтернативы вы можете использовать точку "Findbugs", чтобы получить более глубокое представление о найденных проблемах.

Я нашел дополнительную запись на странице плагина Findbugs Eclipse: Eclipse Plugin загружается, но не работает правильно. Проверьте это.


Когда Findbugs пытается проанализировать ваши классы (а не: исходный код), классы, используемые вашим кодом, должны быть доступны. Я не знаю, для каких шаблонов ошибок это необходимо, но для некоторых (анализ потока) используемые классы должны быть доступны. Поэтому убедитесь, что используемые классы (прямо или косвенно) видны в пути загрузки eclipse.

Ответ 3

Я просто напал на аналогичную проблему при использовании плагина maven, eclipse и m2e-code-quality (https://github.com/m2e-code-quality/m2e-code-quality). Решение состояло в том, чтобы перечислить всех посетителей, которые должны быть запущены в теге посетителей в конфигурации плагина findbugs-maven. Также вы можете установить maxRank в 20. Когда вы опустите посетителей для запуска плагина m2-code-quality, вы создадите конфигурацию плагинов findbugs, в которой вообще нет посетителя. Хуже всего то, что параметры findbug в свойствах проекта покажут некоторых разрешенных посетителей, но они не связаны с конфигурацией проекта.