Насколько я могу судить, правило squid: S2275 от SonarJava должно правильно ставить вопрос о таком вызове с недостаточным количеством параметров. Я могу заставить анализатор SonarJava поднимать проблему локально с помощью последней выпущенной версии (5.3).
Однако, похоже, что в какой-то момент поведение правила было улучшено для правильной обработки библиотеки sl4fj
(см. Тикет SONARJAVA-2588 ). Это было доставлено с SonarJava 5.1.1 .
Другой момент, в SonarJava 4.9 первоначальная реализация правила была разделена на две части (см. SONARJAVA-2208 ):
- squid: S2275 : строки формата в стиле Printf не должны приводить к неожиданному поведению во время выполнения
- squid: S3457 : строки формата Printf в стиле должны использоваться правильно
Так что, возможно, одно из двух правил не включено в ваш профиль качества. Тем не менее, это все равно должен быть S2275, который должен поднять проблему в вашем случае. Поэтому я ожидаю, что правило все еще будет включено. Оба правила являются частью стандартного Sonar Way профиля качества.
Теперь, поскольку вы используете SonarJava 5.0.1 , вы, вероятно, не пользуетесь последним исправлением , улучшающим поддержку slf4j
. Обновление вашего плагина SonarJava из вашего экземпляра SonarQube до последней выпущенной версии должно исправить проблему и вернуть ожидаемое поведение правила.