2017-02-08 6 views
0

В нашем продукте, в пользовательском интерфейсе, мы даем пользователям (то есть разработчикам) способ написать код Java для настройки. При сохранении формы я хочу вызвать статический анализ findbugs на этот источник java и отобразить результаты. Как я могу интегрировать Findbugs с моей продукцией в этом случае? Может ли кто-нибудь предложить, какие API вызывать?Вызовите поиск в режиме поиска «на лету», на куске java-кода

+0

Добро пожаловать в переполнение стека! Сначала вы можете взять [тур] и узнать [спросить] хороший вопрос и создать [mcve]. Это облегчает нам помощь. – Katie

+0

только точка примечания, findbugs не запускаются на исходном коде Java. – MeBigFatGuy

ответ

0

Кажется, что главная точка входа в edu.umd.cs.findbugs.FindBugs2; после создания экземпляра вы можете добавить источники для сканирования через setProject(), позвоните по телефону execute() и просмотрите результаты через getBugReporter(). Это низкоуровневый способ делать вещи - вы бы связали FindBugs с вашим приложением (остерегайтесь возможных проблем с лицензированием) и назовите его внутренне. Возможно, мне не хватает некоторых шагов выше - поскольку у меня есть только просматриваемая документация, которая не содержит пример кода для этого прецедента.

Более простая интеграция может быть достигнута путем вызова FindBugs в качестве внешнего приложения через java -jar <path-to-findbugs-jar> -auxclasspath <classpath needed for analysis> -analyzeFromFile <file with one filename to analyze per line>; затем открывается приложение, и пользователь может исследовать любые выделенные ошибки. Полный список command-line options - возможно даже, что FindBugs генерирует отчет, а затем отображает отчет без запуска интерфейса FindBugs.