为什么我的IntelliJ原生Java项目无法识别@NotNull、@Nullable注解
问题成因
@NotNull不属于JDK内置的标准注解,需要引入第三方注解依赖包才能使用,你当前项目没有引入对应依赖,因此IDEA会报找不到符号的错误。
解决方案
你可以直接用IDEA自带的JetBrains注解包快速解决,操作步骤如下:
- 把光标移到报错的
@NotNull位置,按下Alt + Enter调出快速修复菜单 - 选择「Add 'annotations' to classpath」选项
- 在弹出的确认窗口点击OK,IDEA会自动将自带的JetBrains注解包添加到项目依赖中
- 等待IDEA同步完成后,代码顶部会自动生成导入语句
import org.jetbrains.annotations.NotNull;,注解即可正常使用
如果需要手动引入其他来源的NotNull注解,操作步骤如下:
- 提前下载对应注解包的jar文件,常用的可选来源包括Jakarta Validation注解包、Lombok包等
- 按下
Ctrl + Alt + Shift + S打开项目结构设置界面,依次选择「Modules」→ 你当前的项目模块 →「Dependencies」标签 - 点击标签页下方的「+」号,选择「JARs or directories」,选中你下载的jar包导入
- 勾选导入的jar包前的复选框确认生效,点击OK保存设置,然后在代码中导入对应包路径的NotNull注解即可使用
注意事项
不同来源的NotNull注解包路径存在差异,不要导错:
- JetBrains官方注解包对应路径:
org.jetbrains.annotations.NotNull - Jakarta Validation 3.0+版本对应路径:
jakarta.validation.constraints.NotNull - 旧版Javax Validation对应路径:
javax.validation.constraints.NotNull - Lombok提供的非空注解拼写不同,对应路径:
lombok.NonNull
内容的提问来源于stack exchange,提问作者joEy
相关产品推荐
相关产品推荐

