【问题标题】:IntelliJ CheckerFramework pluginIntelliJ CheckerFramework 插件
【发布时间】:2015-08-20 15:16:19
【问题描述】:

我将 Java 中 CheckerFramework 的依赖项用于 Spring 应用程序

    <dependency>
        <groupId>org.checkerframework</groupId>
        <artifactId>checker-qual</artifactId>
        <version>1.9.4</version>
    </dependency>

在 IntelliJ 下的 Maven 项目中。我安装了 IntelliJ 插件,可用here。但是,当我添加注释时,例如

导入 org.checkerframework.checker.igj.qual.ReadOnly; 导入 org.checkerframework.checker.nullness.qual.NonNull;

@服务 公共类 AService {

@Override
public void addSomething(final int[] @NonNull  @ReadOnly something) {}

我收到消息Annotations are not allowed here,但无法编译。我已经开启了插件的所有注解。

我该如何解决这个问题?

【问题讨论】:

    标签: java maven intellij-idea annotations intellij-14


    【解决方案1】:

    你写的语法不是合法的Java。

    数组类型的注解写在数组括号之前,而不是之后。

    如果你想指出something 是一个非空的整数数组,那么不要写int[] @NonNull something。而是这样写:

    int @NonNull [] something
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 2016-08-24
      相关资源
      最近更新 更多