Как заставить использование аннотации @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 (недостаточно репутации для публикации изображений)

Другие вопросы по тегам