无法解析类型 org.eclipse.jdt.annotation.NonNull。它是从所需的 .class 文件中间接引用的
The type org.eclipse.jdt.annotation.NonNull cannot be resolved. It is indirectly referenced from required .class files
当我将 Java 8 方法引用双冒号运算符 (::
) 与新运算符(例如 MyType::new
)一起使用时,我在 [=20= 的 Eclipse 中出现此错误] 工具套件(STS):
The type org.eclipse.jdt.annotation.NonNull cannot be resolved. It is indirectly referenced from required .class files
如何摆脱这个错误?
Stephan Herrmann 的评论中提供了错误描述。有 open Eclipse issue 让这个问题更加人性化。
解决方案是包括以下依赖项:
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.annotation</artifactId>
<version>2.0.0</version>
</dependency>
Eclipse 有一个名为 annotation-based 空分析 的功能,它提供 compile-time 使用注释的检查(例如 @NonNull
或 @Nullable
).当类路径中缺少注释时会出现此错误。
如果您不打算使用 annotation-based 空值分析 功能,您可以在 Eclipse 中禁用它。
打开全局或项目设置并转到Java > Compiler > Warnings
。在 Null analysis
类别中,取消选中 Enable annotation-based null analysis
。然后重建工作区,那些错误就不会再出现了。
我已经通过更改 "Use default annotation for null specifications"
解决了它
我已经输入了两个class名字:
javax.annotation.Nonnull
javax.annotation.Nullable
我能够通过添加@NonNull 注释来解决这个问题。它带有红色下划线,因为 Eclipse 注释不存在。将鼠标悬停在 @NonNull 上让我可以选择“修复项目设置 ...”,这清除了错误。然后我删除了@NonNull.
当我将 Java 8 方法引用双冒号运算符 (::
) 与新运算符(例如 MyType::new
)一起使用时,我在 [=20= 的 Eclipse 中出现此错误] 工具套件(STS):
The type org.eclipse.jdt.annotation.NonNull cannot be resolved. It is indirectly referenced from required .class files
如何摆脱这个错误?
Stephan Herrmann 的评论中提供了错误描述。有 open Eclipse issue 让这个问题更加人性化。
解决方案是包括以下依赖项:
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.annotation</artifactId>
<version>2.0.0</version>
</dependency>
Eclipse 有一个名为 annotation-based 空分析 的功能,它提供 compile-time 使用注释的检查(例如 @NonNull
或 @Nullable
).当类路径中缺少注释时会出现此错误。
如果您不打算使用 annotation-based 空值分析 功能,您可以在 Eclipse 中禁用它。
打开全局或项目设置并转到Java > Compiler > Warnings
。在 Null analysis
类别中,取消选中 Enable annotation-based null analysis
。然后重建工作区,那些错误就不会再出现了。
我已经通过更改 "Use default annotation for null specifications"
解决了它我已经输入了两个class名字:
javax.annotation.Nonnull
javax.annotation.Nullable
我能够通过添加@NonNull 注释来解决这个问题。它带有红色下划线,因为 Eclipse 注释不存在。将鼠标悬停在 @NonNull 上让我可以选择“修复项目设置 ...”,这清除了错误。然后我删除了@NonNull.