113得票5回答
JSR 305的现状是什么?

我看到了这个问题:JSR305 vs. JSR308(Java类型注解)-哪个将成为标准?,并理解了JSR 308和JSR 305之间的区别。 我也明白,目前308被安排用于Java 7,而305没有,我想知道305的整体状态。 具体来说,我在一些项目中使用Google Collectio...

37得票1回答
Java 9的JSR-305注释替代方案

目前,我们一直在使用Findbugs JSR-305注释(com.google.code.findbugs:jsr305),并且一切都很好,包括工具支持(Sonar、Eclipse、Findbugs等)。 然而,我们了解到Java 9中的Jigsaw将会破坏JSR-305注释(不允许一个包在...

25得票1回答
默认情况下如何指示成员字段为@Nonnull?

我的问题是对此问题的跟进。 在FindBugs的早期版本中,可以使用@DefaultAnnotation(Nonnull.class)或@DefaultAnnotationForFields(Nonnull.class)来指示包中所有字段都应被视为@Nonnull。在当前版本的FindBug...

20得票3回答
JSR305和JSR308(Java 类型注释)——哪个将成为标准?

似乎有两个不同的JSR用于注释。 JSR-305:软件缺陷检测的注释 (附加资源) JSR-308:Java类型上的注释 (附加资源) 两者都似乎面向静态代码分析。 你知道: 这两者中哪一个将被包含在Java SE 7或Java EE 6中吗? 每个JSR有多“稳定”? 其中一个是否...

15得票4回答
使用IntelliJ IDEA、Maven和JSR 305实现@Nullable/@NotNull。

我非常喜欢代码检查功能,现在可以使用JSR 305或Jetbrains专有注释来实现。 不幸的是,这两个实现(JSR 305和Jetbrains)并不兼容: IntelliJ显然只了解自己专有的注释集,并将它们很好地集成在一起。 在我的Maven构建中使用Findbugs时,它仅支持JSR...

8得票2回答
@ParametersAreNonnullByDefault是否也适用于方法返回值?

关于@ParametersAreNonnullByDefault的文档指出: 可以将此注释应用于包、类或方法,以指示该元素中的方法参数默认情况下是非空的,除非... 我不认为方法的返回类型/值是其参数之一。它只是其签名的一部分,所以这有点模糊。 Java方法教程似乎和我想的一样。 ...

7得票2回答
Findbugs + JSR305:是否有指定默认行为的可能性?

注意:我所说的这些注释是由JSR305指定的。 我使用的是最新的Findbugs(1.3.9),当一些用@Nonnull注释的字段被赋值为null时,它可以正确地发现错误。 然而,在我的项目中,“非空逻辑”是默认情况。我想说,只有5%的情况明确允许null。 因此,注释95%的字段使用@...

7得票1回答
为什么我需要添加artifact JSR305才能使用Guava 14+?

在stackoverflow上寻找信息时,我看到了一个与我的问题类似但没有真正答案的问题here。 我需要将我的maven项目从guava 11.0.2迁移到guava 14或更高版本(我需要RangeSet)。我使用以下依赖项更新了我的maven pom: <dependency&...