Как заставить использование аннотации @Override?
Существует ли инструмент статического анализа, который может принудительно применять аннотацию @Override, который можно запускать вне среды IDE? CheckStyle имеет проверку MissingOverride, но он применяется только к методам, которые используют тег Jinadoc @inheritDoc. Я ищу инструмент, который можно запустить в новой конфигурации сборки на машине с непрерывной интеграцией.
5 ответов
Один из способов - использовать раннер TeamCity "Inspection". Я не уверен, действительно ли он считается работающим вне IDE, поскольку он настроен в IntelliJ и работает, запуская IntelliJ в режиме без головы на стороне TeamCity.
Изменить: PMD теперь имеет правило MissingOverride.
Что насчет PMD или Findbugs? PMD позволяет вам даже написать собственное правило (если оно не доступно в наборе правил по умолчанию).
https://pmd.github.io/pmd-6.3.0/pmd_userdocs_extending_writing_pmd_rules.html
Я использую Sonar, который выдает мне предупреждения, но самое главное, я использую eclipse (как и моя команда), и я установил опцию "добавить отсутствующие @Overrides", чтобы выполнить действие сохранения.
Ошибка Prone имеет шаблон MissingOverride. Кажется, что errorprone оценивается во время компиляции. По умолчанию это предупреждение, но я настроил его как ошибку.
На IntelliJ 2017, зайдите в Настройки -> Редактор -> Проверки -> Отсутствует аннотация @Override
пример изображения 0 (недостаточно репутации для публикации изображений)