@Nullable
アノテーションを使用してNullPointerExceptions
を排除したい。ネット上でいくつかのチュートリアルを見つけましたが、このアノテーションはパッケージjavax.annotation.Nullable
;からのものであることに気付きました。しかし、インポートするとコンパイルエラーが生成されます:シンボルが見つかりません
このクラスが存在するjarを含める必要があります。見つけることができます here
Mavenを使用している場合、次の依存関係宣言を追加できます。
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
そしてGradleの場合:
dependencies {
testImplementation 'com.google.code.findbugs:jsr305:3.0.2'
}
アーティファクトはnet.sourceforge.findbugs
からに移動しました
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
Gradleを使用している場合、次のような依存関係を含めることができます。
repositories {
mavenCentral()
}
dependencies {
compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
}
Androidプロジェクトのコンパイル中に誰かがこれを持っている場合、Android.support.annotation.Nullable
に代替のNullable実装があります。したがって、import
sで参照したパッケージに注意してください。
IntelliJ IDEAで外部的に作成されたMavenプロジェクトをビルドするときに誰かがこの問題を抱えている場合、答えの代わりに次の依存関係を使用しました。
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>15.0</version>
</dependency>
これを使用すると、プロジェクトはIntelliJ IDEA上で、Mavenを使用して単独でビルドできます。
あなたはそれを見つけることができます こちら 。
gradle.build内に次の行を追加して、この最新バージョンを追加できます。
implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
私は注釈が含まれているグアバを使用しています:
(Gradle code)
compile 'com.google.guava:guava:23.4-jre'
Androidプロジェクトの場合、プロジェクト/モジュールgradleファイル(build.gradle)を次のように変更することにより、このエラーを修正できます。
dependencies { implementation 'com.Android.support:support-annotations:24.2.0' }
詳細については、 here を参照してください。