在 FindBugs 分发中,
请注意,我不仅仅想知道使用
我正在使用此写作时 最新版本 的 FindBugs 1.3.9。使用此版本,我看到以下选择(如果有其他选择,请更新此 table):
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(注意大写)
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
annotations.jar
不是 jsr305.jar
的子集。然而,有几个注释似乎被复制了(要么完全相同,要么非常接近)。如果我有选择,我应该偏爱jsr305.jar
中的注释吗?请注意,我不仅仅想知道使用
jsr305.jar
中的注释会更好,因为它们代表一种标准。相反,我想知道如果我更喜欢特定注释的 jsr305.jar
版本,FindBugs 工具是否会执行相同(或更好)的分析。可能情况是,应该优先选择一些 jsr305.jar
注释,但其他注释则不应该。我正在使用此写作时 最新版本 的 FindBugs 1.3.9。使用此版本,我看到以下选择(如果有其他选择,请更新此 table):
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(注意大写)
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