4

在 Eclipse 中,可以为单个包默认设置 not null。有没有办法在所有包或包树中设置它?

编辑

我说的@Nonnull是日食尊重和政策的注释。目前,我们将它们放在每个函数、每个变量和每个参数上。我知道我们可以通过将属性放在 package-info 中来设置它们的包范围 - 但是我们有数百个包,很容易错过一个。我希望能够将eclipse设置为“@Nonnull默认假设,除非@Nullable指定”。

4

3 回答 3

1

Eclipse can help you detect any packages that are lacking a @NonNullByDefault if you enable the compiler option "Missing '@NonNullByDefault' annotation on package". This option is set to "Ignore" by default, set to "Warning" or "Error" as you like.

See http://help.eclipse.org/luna/topic/org.eclipse.jdt.doc.user/reference/preferences/java/compiler/ref-preferences-errors-warnings.htm?cp=1_4_2_0_3_1

于 2015-02-26T19:39:41.947 回答
0

试试这个可爱的小项目:

https://code.google.com/p/notnullcheckweaver/

它在使用 @NotNull 注释的每个元素周围插入空检查

但是,它的默认设置是@Nullable,因此您仍然应该注释您的(根)包,以使其强制执行除@Nullable 注释元素之外的所有内容。

缺点:

  • 它引入了又一个@NotNull注解并且不允许其他注解(例如java自己的@Nonnull、spring注解等)
  • 它通过字节码操作和 java-agents 工作
于 2014-05-19T12:12:29.563 回答
-2

您确定要添加@Notnull到项目中的每个函数、每个变量和每个参数(请记住,您有数百个包)?

如果你的函数需要返回 null 或者参数需要为 null 怎么办?

我不认为这是一个好主意。

于 2014-01-30T17:02:36.843 回答