2016-08-26 2 views
0

Я использую checkstyle 2.17 в своем проекте java. Я хочу игнорировать javadoc для всех классов и только хочу обеспечить javadoc для интерфейсов. Есть ли способ сделать это в моем файле конфигурации xml. Прямо сейчас это выглядит так:Как отключить проверку подлинности JavaDoc checkstyle для классов?

<!-- Javadoc for interface must be present/valid. The same for classes is optional--> 
<module name="JavadocType"> 
     <property name="tokens" value="INTERFACE_DEF"/> 
</module> 

Он отлично работает для интерфейсов, но он дает ошибку, если для классов не задан javadoc.

ответ

0

Ваша конфигурация верна. Checkstyle имеет даже a test, подтверждая, что для классов не сообщается о нарушениях, если tokens установлено на INTERFACE_DEF.

+0

Тогда почему это не работает? Я также пробовал METHOD_DEF и CLASS_DEF, но все напрасно. –

+0

@ DarshilBabel, пожалуйста, укажите точный репроектор, затем –

0

Я не тестировал его, но попробовал переопределить acceptableTokens в вашем XML, а не tokens.

Так мы предотвращаем применение правил javadoc для конструкторов классов. Не забудьте указать новый пользовательский класс из вашего файла *_checks.xml.

public class JavadocMethodCheck extends com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck { 

    @Override 
    public int[] getAcceptableTokens() { 
     return Arrays.stream(super.getAcceptableTokens()) 
      .filter(t -> t != TokenTypes.CTOR_DEF) // Don't enforce javadoc comments on constructors 
      .toArray(); 
    } 
}