java - Checkstyle Java 泛型 : '?' is not preceded with whitespace

标签 java generics whitespace wildcard checkstyle

我正在使用插件

<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 {};

我试图删除带有空格的代码段,但仍然出现相同的错误。

最佳答案

这是 checkstyle 中的错误,已在 Checkstyle 6.14 中修复(参见 https://github.com/checkstyle/checkstyle/issues/2633)

您可以通过添加 <dependencies> 来升级 checkstyle maven-checkstyle-plugin 中的部分:

<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>

或者您可以直接使用最新的 Checkstyle (7.0)。

关于java - Checkstyle Java 泛型 : '?' is not preceded with whitespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38663918/

相关文章:

java - Android 1.6 & Fragment & Tabhost

java - Centos 中的 APNS NetworkIOException SSLHandshake 失败,Java 版本为 1.6.0_37

c# - 设计流畅的界面方法

Java 传递泛型对象

c# - 如果没有空格分隔符,为什么 XmlReader 会跳过所有其他元素?

C 程序设计语言 (scanf)

java - 如果我使用权重布局,那么我的Java文件无法通过id找到 View

c# - 如何使用特定类型的泛型类来注释代码

c - 删除尾随空白

java - 如何在 C# 中解密 JWE 源(使用 RSA1_5 A256CBC-HS512 加密)?