SonarQube Scanner: действительно ли нужны двоичные файлы? - PullRequest
0 голосов
/ 01 мая 2019

Я запускаю сканер SonarQube в проекте Java.В файле свойств есть свойство sonar.java.binaries=**/classes для указания расположения классов для проектов.

При сканировании не удалось отобразить эту ошибку:

ERROR: Error during SonarQube Scanner execution
ERROR: Please provide compiled classes of your project with sonar.java.binaries property

при:

  1. Я удалил свойство sonar.java.binaries
  2. Я установил свойство sonar.java.binaries на null
  3. Я установил свойство на sonar.java.binaries=**/classes, но в каталогах проекта не было классов dir или тамбыли пустыми

Сканирование было успешно завершено, когда:

  1. Я установил свойство sonar.java.binaries=**/classes и создал папку классов, вставив в нее фиктивный файл blabla.class

Итак, мой вопрос: зачем нужны классы, если сканер работает и без них?

1 Ответ

0 голосов
/ 01 мая 2019

Скопировано из официальной документации :

Требуется байт-код Java

Анализ проекта Java без предоставления байт-кода Java, созданного javac (пользователи Android: Джек не предоставляет необходимые файлы .class), и все зависимости проекта (файлы JAR) возможны, но приведут к увеличению анализатором будет пропущено количество ложных негативов, то есть законных вопросов.

Начиная с версии SonarJava 4.12 двоичные файлы требуются для проектов Java с более чем одним файлом Java. Если не предоставлено должным образом, анализ не удастся с сообщением

Please provide compiled classes of your project with sonar.java.binaries property

См. Плагин Java и байт-код , чтобы узнать, как предоставить байт-код Java, если вы не используете Maven для запуска анализа.

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

...