Eclipse Juno和Kepler的@Nonnull行为有什么不同?

时间:2014-03-26 12:45:00

标签: java eclipse jsr305

我遇到了一个相当奇怪的场景,我到目前为止已经设法找到了不同版本的Eclipse。我想知道是否有人可以告诉我究竟是什么问题(Juno不支持,它,Kepler提供更好的支持等)。我使用jsr305进行注释。

我有以下示例代码来复制行为。

@Nonnull
String test = null;

这不应该起作用,因为我已经明确地说过使用注释测试不应该为null。它在开普勒捕获它,但在Juno它没有。所有设置都是相同的,这只是版本与jsr305不兼容的情况吗?

1 个答案:

答案 0 :(得分:0)

Juno不支持将字段标记为@Nullable,但开普勒确实如此。 看到这些有趣的帖子:

我更喜欢坚持使用FindBugs Maven插件,因为我不依赖于IDE,并且可以在构建时强制执行策略。我主要使用这些注释:

import javax.annotation.CheckForNull;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;

我应该看一下IDE支持,但这只是一个'额外'。