Chcę użyć @Nullable
adnotacji, aby wyeliminować NullPointerExceptions
. Znalazłem w sieci kilka tutoriali, zauważyłem, że ta adnotacja pochodzi z pakietu javax.annotation.Nullable
; ale podczas importu generowany jest błąd kompilacji: nie można znaleźć symbolu
116
javax
pakietu? Czy nie ma artefaktu zjavax
-prefixed groupId, który zapewnia ten typ?com.google.code.findbugs
względu na to, że był on hostowany na rozwiązaniu hostingowym kodu GoogleArtefakt został przeniesiony z
net.sourceforge.findbugs
doźródło
Jeśli używasz Gradle, możesz dołączyć taką zależność:
źródło
'java'
(lub inną) wtyczkę, która już utworzyłacompile
konfigurację .<dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>3.0.0</version> </dependency>
Eclipse dał błędy: Missing artefactcom.google.code.findbugs:jsr305:jar:3.0.0 Failure to transfer com.google.code.findbugs:jsr305:jar:3.0.0
compileOnly group...
zamiast po prostucompile group...
W przypadku, gdy ktoś ma to podczas próby skompilowania projektu systemu Android, istnieje alternatywna implementacja Nullable w
android.support.annotation.Nullable
. Więc uważaj, do którego pakietu odwołujesz się w swoimimport
pliku s.źródło
Jeśli ktoś ma ten problem podczas budowania projektu Maven utworzonego w IntelliJ IDEA zewnętrznie, zamiast odpowiedzi użyłem następującej zależności:
Użycie tego pozwoli projektowi na zbudowanie na IntelliJ IDEA i samemu przy użyciu Maven.
Znajdziesz go tutaj .
źródło
org.jetbrains:annotations:15.0
zapewnia . Może to być problem, jeśli używasz niektórych generatorów kodu jako .@org.jetbrains.annotations.Nullable
@javax.annotation.Generated
openapi-generator-maven-plugin
możesz dodać najnowszą wersję tego, dodając następujący wiersz w swoim gradle.build.
źródło
Używam guawy, która zawiera adnotację:
(Kod Gradle)
źródło
W przypadku projektów na Androida możesz naprawić ten błąd, zmieniając plik gradle projektu / modułu (build.gradle) w następujący sposób:
Więcej informacji można znaleźć tutaj .
źródło