无法解析 org.eclipse.jdt.annotation.NonNull 类型。它从所需的.class文件中间接引用

当我使用Java 8方法引用双冒号运算符()与新运算符(例如)时,我在Spring工具套件(STS)的Eclipse中收到此错误:::MyType::new

无法解析 org.eclipse.jdt.annotation.NonNull 类型。它从所需的.class文件中间接引用

如何摆脱此错误?


答案 1

Stephan Herrmann的评论中提供了错误描述。有一个开放的Eclipse问题,使这个问题更加用户友好。

解决方案是包括以下依赖项:

<dependency>
    <groupId>org.eclipse.jdt</groupId>
    <artifactId>org.eclipse.jdt.annotation</artifactId>
    <version>2.0.0</version>
</dependency>

答案 2

Eclipse有一个称为基于注释的空分析的功能,它使用注释(例如 或 )。当类路径中缺少批注时,您会收到此错误。@NonNull@Nullable

如果您不打算使用基于注释的空分析功能,则可以在 Eclipse 中禁用它。

打开全局或项目设置,然后转到 。在类别中,取消选中 。然后重新生成工作区,这些错误将不再显示。Java > Compiler > WarningsNull analysisEnable annotation-based null analysis


推荐