@Nonnull默认情况下在eclipse / kepler中

时间:2013-06-03 03:51:30

标签: java eclipse eclipse-kepler

在eclipse中,默认情况下可以为单个包设置非null。有没有办法在所有包或包树中设置它?

修改

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

3 个答案:

答案 0 :(得分:1)

如果启用编译器选项" Missing' @NonNullByDefault' Eclipse可以帮助您检测缺少@NonNullByDefault的任何软件包。包装上的注释"。此选项设置为"忽略"默认情况下,设置为"警告"或"错误"如你所愿。

请参阅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

答案 1 :(得分:0)

试试这个可爱的小项目:

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

它在每个使用@NotNull

注释的元素周围插入空检查

它的默认设置是@Nullable,所以你仍然应该注释你的(root)包,让它强制执行除@Nullable注释元素之外的所有内容。

缺点:

  • 它引入了另一个@NotNull注释,并且不允许其他注释(例如java自己的@Nonnull,spring注释等)
  • 它通过字节码操作和java-agents
  • 工作

答案 2 :(得分:-1)

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

如果函数需要返回null或参数需要为null,该怎么办?

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