Как включить проверку MissingOverride в checkstyle?

У меня есть

public interface Interface0 {

    void method0();
}

и

public class Implementation0 implements Interface0 {

    public void method0() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}

и я использую maven-checkstyle-plugin объявив

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>checkstyle</id>
            <phase>validate</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <configLocation>${basedir}/check_style.xml</configLocation>
    </configuration>
</plugin>

и наконец я активирую MissingOverride в check_style.xml:

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
   "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
   "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
    <module name="TreeWalker">
        <module name="MissingOverride"/>
    </module>
</module>

Это выдержка из моего опыта во многих проектах, что все проверки работают нормально, за исключением MissingOverride который не имеет никакого эффекта, т.е. не обнаруживает ни одного пропавшего @Override аннотаций.

2 ответа

Решение

Документация MissingOverride Состояния модуля:

Проверяет, присутствует ли аннотация java.lang.Override, когда присутствует тег javadoc {@inheritDoc}.

Ссылка на документацию

Другими словами, он не предназначен для проверки того, что вы хотите, чтобы проверить - он только проверяет, если использование {@inheritDoc} тег в комментарии Javadoc в сочетании с @Override аннотаций.

Если вы читаете документацию по Checkstyle для MissingOverride, говорится, что вам понадобится {@inheritDoc} Тег javadoc также для того, чтобы это работало, но он только проверит, что он связан с другой аннотацией.

Попробуй это. Меня устраивает:)

Хотя, забыть включить это будет так же, как ваша первоначальная проблема.

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