2016-07-29 5 views
5

Я использую плагинШаблоны Java-генерации: '?' не предшествует пробельных

<artifactId>maven-checkstyle-plugin</artifactId> 
<version>2.17</version> 

имеет 6.11.2 Checkstyle версию. Конфигурация говоря о непечатаемых является:

<module name="NoWhitespaceAfter"> 
    <property name="severity" value="error" /> 
    <property name="tokens" value="ARRAY_INIT,BNOT,DEC,DOT,INC,LNOT" /> 
</module> 
<module name="NoWhitespaceBefore"> 
    <property name="severity" value="error" /> 
</module> 
<module name="RedundantModifier"> 
    <property name="severity" value="error" /> 
</module> 
<module name="WhitespaceAround"> 
    <property name="severity" value="error" /> 
    <property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,DO_WHILE,EQUAL,GE,LAND,LCURLY,LE,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,TYPE_EXTENSION_AND" /> 
</module> 

Я всегда получаю эту ошибку:

(whitespace) WhitespaceAround: WhitespaceAround: '?' is not preceded with whitespace. 
(whitespace) WhitespaceAround: WhitespaceAround: '?' is not followed by whitespace. 
Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) 

Фрагменты кода являются:

Class<?>[] groups() default {}; 
Class<? extends Payload>[] payload() default {}; 

Я пытался удалить фрагмент кода с пробелами, но все же получить та же ошибка.

У кого-то такая же проблема?

Большое спасибо!

+0

Не могли бы вы поделиться фрагментом, который производит эту ошибку? – Mureinik

+1

Это выглядит как странно агрессивное правило 'WhitespaceAround'. – user2357112

+0

@Mureinik это хорошее место. Я обновил вопрос. –

ответ

4

Это ошибка в Checkstyle, это было зафиксировано в Checkstyle 6.14 (см https://github.com/checkstyle/checkstyle/issues/2633)

Вы можете обновить Checkstyle, добавив <dependencies> раздел в Maven-Checkstyle-плагин:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <version>2.17</version> 
    <dependencies> 
     <dependency> 
      <groupId>com.puppycrawl.tools</groupId> 
      <artifactId>checkstyle</artifactId> 
      <version>6.14</version> 
     </dependency> 
    </dependencies> 
</plugin> 

Or вы можете перейти к новейшей Checkstyle (7.0).

+0

это не поможет. Версия 6.14 по-прежнему получает ту же ошибку. Версия 7.x требуется для Java 8, но мы используем JDK 7 в нашем проекте. Любые другие идеи? –

+0

вы пробовали другие версии> 6.14 и <7.0? –

+0

И это довольно странно, потому что у него должно быть исправление для вашего точного дела. –