¿Deberían preferirse las anotaciones en jar305.jar sobre las anotaciones similares en annotation.jar para FindBugs?
En el FindBugs distribución,annotations.jar
esn un subconjunto dejsr305.jar
. Sin embargo, varias anotaciones parecen estar duplicadas (ya sea exactamente o muy de cerca). ¿Debería preferir una anotación enjsr305.jar
si tengo otra opción?
enga en cuenta que no solo estoy interesado en saber que sería "mejor" usar anotaciones dejsr305.jar
simplemente porque representan un estándar. Más bien, quiero saber si la herramienta FindBugs realizará el mismo análisis (o mejor) si prefiero lajsr305.jar
versión de una anotación particular. Podría ser el caso de que algunosjsr305.jar
las anotaciones deben ser preferidas, pero otras no.
Estoy usando FindBugs 1.3.9 que esla versión más reciente a partir de este escrito. Con esta versión, veo las siguientes opciones (actualice estames si hay otros):
edu.umd.cs.findbugs.annotations.CheckForNull → javax.annotation.CheckForNull
edu.umd.cs.findbugs.annotations.CheckReturnValue → javax.annotation.CheckReturnValue
edu.umd.cs.findbugs.annotations.NonNull → javax.annotation.Nonnull (capitalización NB)
edu.umd.cs.findbugs.annotations.Nullable → javax.annotation.Nullable
edu.umd.cs.findbugs.annotations.When → javax.annotation.meta.When
Además, todas las JCIP anotaciones están duplicados:
net.jcip.annotations.GuardedBy → javax.annotation.concurrent.GuardedBy
net.jcip.annotations.Immutable → javax.annotation.concurrent.Immutable
net.jcip.annotations.NotThreadSafe → javax.annotation.concurrent.NotThreadSafe
net.jcip.annotations.ThreadSafe → javax.annotation.concurrent.ThreadSafe