Должны ли аннотации в jar305.jar быть предпочтительнее аналогичных аннотаций в annotation.jar для FindBugs?

В дистрибутиве FindBugs annotations.jar не подмножество jsr305.jar . Однако некоторые аннотации кажутся дублированными (точно или очень близко). Должен ли я предпочесть аннотацию в jsr305.jar , если у меня есть выбор?

Обратите внимание, что мне не просто интересно знать, что было бы «лучше» использовать аннотации из jsr305. jar просто потому, что они представляют собой стандарт. Скорее, я хочу знать, будет ли инструмент FindBugs выполнять такой же (или лучший) анализ, если я предпочитаю jsr305.jar версию конкретной аннотации. Может случиться так, что некоторые аннотации jsr305.jar должны быть предпочтительнее, а другие - нет.

Я использую FindBugs 1.3.9, которая является последней версией в качестве этого письма. В этой версии я вижу следующие варианты (обновите эту таблицу , если есть другие):

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 (NB с заглавными буквами)
edu.umd.cs.findbugs.annotations.Nullable → javax.annotation.Nullable
edu.umd.cs.findbugs.annotations.When → javax.annotation.meta.When

Кроме того, все JCIP аннотации дублируются:

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

12
задан Community 20 March 2017 в 10:29
поделиться