web-dev-qa-db-ja.com

javax.annotation。*内で@Nullableが見つかりません

@Nullableアノテーションを使用してNullPointerExceptionsを排除したい。ネット上でいくつかのチュートリアルを見つけましたが、このアノテーションはパッケージjavax.annotation.Nullable;からのものであることに気付きました。しかし、インポートするとコンパイルエラーが生成されます:シンボルが見つかりません

100
user2354035

このクラスが存在する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'
}
123
david99world

アーティファクトはnet.sourceforge.findbugsからに移動しました

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>3.0.0</version>
</dependency>
32
jan

Gradleを使用している場合、次のような依存関係を含めることができます。

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
}
26
mkobit

Androidプロジェクトのコンパイル中に誰かがこれを持っている場合、Android.support.annotation.Nullableに代替のNullable実装があります。したがって、importsで参照したパッケージに注意してください。

7

IntelliJ IDEAで外部的に作成されたMavenプロジェクトをビルドするときに誰かがこの問題を抱えている場合、答えの代わりに次の依存関係を使用しました。

<dependency>
  <groupId>org.jetbrains</groupId>
  <artifactId>annotations</artifactId>
  <version>15.0</version>
</dependency>

これを使用すると、プロジェクトはIntelliJ IDEA上で、Mavenを使用して単独でビルドできます。

あなたはそれを見つけることができます こちら

4
crawton

gradle.build内に次の行を追加して、この最新バージョンを追加できます。

implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
3
Jay Dangar

私は注釈が含まれているグアバを使用しています:

(Gradle code)

compile 'com.google.guava:guava:23.4-jre'
2
John Tribe

Androidプロジェクトの場合、プロジェクト/モジュールgradleファイル(build.gradle)を次のように変更することにより、このエラーを修正できます。

dependencies { implementation 'com.Android.support:support-annotations:24.2.0' }

詳細については、 here を参照してください。

1
AK.Pandian