161 votes

Impossible de trouver @Nullable à l'intérieur de javax.annotation.*

Je veux utiliser l'annotation @Nullable pour éliminer les NullPointerExceptions. J'ai trouvé quelques tutoriels sur internet, j'ai remarqué que cette annotation provient du package javax.annotation.Nullable; mais lorsque je l'importe une erreur de compilation est générée : cannot find symbol

197voto

david99world Points 7444

Vous devez inclure un bocal dans lequel cette classe existe. Vous pouvez le trouver ici

Si vous utilisez Maven, vous pouvez ajouter la déclaration de dépendance suivante:

  com.google.code.findbugs
  jsr305
  3.0.2

et pour Gradle:

dependencies {
  testImplementation 'com.google.code.findbugs:jsr305:3.0.2'
}

40voto

jan Points 424

L'artefact a été déplacé de net.sourceforge.findbugs à

    com.google.code.findbugs
    jsr305
    3.0.0

30voto

Mike Kobit Points 739

Si vous utilisez Gradle, vous pourriez inclure la dépendance comme ceci :

repositories {
    mavenCentral()
}

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

17voto

BotOfWar Points 450

JSR-305 est une "Java Specification Request" visant à étendre la spécification. @Nullable etc. en faisaient partie ; cependant, il semble être "dormant" (ou gelé) depuis lors (Voir cette question SO). Donc, pour utiliser ces annotations, vous devez ajouter la bibliothèque vous-même.

FindBugs a été renommé en SpotBugs et est en cours de développement sous ce nom.

Pour maven, voici la dépendance actuelle uniquement pour les annotations (autres intégrations ici):

  com.github.spotbugs
  spotbugs-annotations
  4.2.0

Si vous souhaitez utiliser le plugin complet, consultez la documentation de SpotBugs.

8voto

Janis Peisenieks Points 1458

Si quelqu'un rencontre ce problème lors de la compilation d'un projet Android, il existe une implémentation Nullable alternative dans android.support.annotation.Nullable. Faites donc attention au package que vous avez référencé dans vos import.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X