Java 8メソッド参照の二重コロン演算子(::
)新しい演算子(例:MyType::new
)、Spring Tool Suite(STS)のEclipseでこのエラーが発生します。
タイプorg.Eclipse.jdt.annotation.NonNullは解決できません。必要な.classファイルから間接的に参照されている
このエラーを取り除く方法は?
エラーの説明は、Stephan Herrmannのコメントに記載されています。この問題をよりユーザーフレンドリーにするために、オープンな Eclipseの問題 があります。
解決策は次の依存関係を含めることです:
<dependency>
<groupId>org.Eclipse.jdt</groupId>
<artifactId>org.Eclipse.jdt.annotation</artifactId>
<version>2.0.0</version>
</dependency>
Eclipseには注釈ベースのnull分析と呼ばれる機能があり、注釈(_@NonNull
_または_@Nullable
_など)を使用してコンパイル時にチェックを行います。このエラーは、クラスパスに注釈がない場合に発生します。
注釈ベースのnull分析機能を使用する予定がない場合は、Eclipseで無効にすることができます。
グローバル設定またはプロジェクト設定を開き、_Java > Compiler > Warnings
_に移動します。 _Null analysis
_カテゴリで、_Enable annotation-based null analysis
_をオフにします。次に、ワークスペースを再構築すると、これらのエラーは再び表示されなくなります。
「null仕様にデフォルトのアノテーションを使用する」を変更することで解決しました
両方のクラス名を入力しました:
javax.annotation.Nonnull
javax.annotation.Nullable