【问题标题】:How to stop IntelliJ from automatically importing org.jetbrains.annotations in Java?如何阻止 IntelliJ 在 Java 中自动导入 org.jetbrains.annotations?
【发布时间】:2021-06-23 07:35:45
【问题描述】:

我的超类有一个方法签名,其参数使用javax 注释,如下所示:

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public abstract class Nanana {

    // ...

    protected abstract void nanaFunction(
        @Nonnull final Parameter parParameter1,
        @Nullable final Parameter parParameter2
    ) { /* ... */ }
}

当我在不同的文件中从这个类继承而不手动导入注释时,它会像这样自动完成我的覆盖(注意注释导入):

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class ConcreteNanana extends Nanana {

    // ...

    @Override
    public void nanaFunction(
        @NotNull final Parameter parParameter1,
        @Nullable final Parameter parParameter2
    ) { /* ... */ }
}

如何配置 IntelliJ 以导入与超类相同的注释?我正在使用 IntelliJ 2020.3.3 Ultimate。

【问题讨论】:

  • 我无法重现。 IDE 允许我在子类中导入我喜欢的注解。

标签: java intellij-idea annotations


【解决方案1】:

如上所述here

这是一个缺陷,您可以通过以下方式解决它:

Settings --> Inspections --> Java --> Probable bugs --> Nullability problems --> @NotNull/@Nullable problems --> Configure Annotations

并设置默认值

javax.annotation.Nullable
javax.annotation.Nonnull

重启应该没问题。

【讨论】:

    【解决方案2】:

    IntelliJ IDEA 2021.2.1 中的@Nonnull/@Nullable 注解配置:

    Menu 
    > File
      > Preferences
        > Editor
          > Inspections
    
    Inspections
    > Java
      > Probable bugs
        > Nullability problems
          > @NonNull/@Nullable problems
    
    @NonNull/@Nullable problems
    > Options
      > Configure annotations
        > Select preferred `Nullable` annotation
        > Press micro-accept button (see screenshot, horrible UX)
        > Select preferred `Nonnull` annotation
        > Press micro-accept button
      > Ok
    >Ok
    
    No restart needed
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 2020-11-11
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      相关资源
      最近更新 更多