[英]How to remove 'nullness annotation is redundant' warning when using @NonNullByDefault and arrays? (Eclipse, NullAnnotation)
[英]How to use NonNullByDefault on a package
我的编译器警告我A default nullness annotation has not been specified for the package
。 我正在使用Juno和Java 7。
您应该将@NonNullByDefault
作为包选项添加文档统计信息,但我不知道这意味着什么。
我可以以某种方式为整个包设置NonNullByDefault
吗? 在Eclipse中,我无法右键单击包并说出add option
或类似的东西。
或者我只是将@NonNullByDefault
添加到包中的任何类,然后它对该包中的所有bean都有效? 或者我是否必须在pakage中创建一些元信息文件以添加包选项? 我必须是盲人,因为我在网上找不到任何帮助....
一个小例子会很棒。
摘要:
获得上述建议对我来说并不直观。 我刚刚想出的实际解决方案也不是。 在package-info.java文件中:
一个。 把注释放在包声明上面
湾 在包声明后输入NonNullByDefault注释
细节:
我不知道我是否是唯一一个阅读上述答案并且无法弄清楚如何使其工作的人。 所以,为了更清楚,这里是我为了最终在Eclipse-Juno中工作而采取的(非显而易见的或直观的)步骤:
您的Java编辑器现在将显示一个名为“ package-info.java ”的新文件,其中包含以下内容:
/** * */ /** * @author xyz * */ package org.public_domain;
现在,重新排列文件内容,如下所示:
/** * */ /** * @author xyz * */ @NonNullByDefault package org.public_domain; import org.eclipse.jdt.annotation.NonNullByDefault;
......或者像这样......
/** * */ /** * @author xyz * */ @org.eclipse.jdt.annotation.NonNullByDefault package org.public_domain;
享受eclipse @NonNullByDefault的精彩
我的挑战是弄清楚我要把注释放在包装声明上面 。 并在程序包声明后输入NonNullByDefault批注 。 对我来说,这不直观。
希望这能节省别人我已经结束燃烧追逐这条特殊途径的时间。
如果您只是想摆脱警告并忽略此功能,因为您没有使用它,您可以在Eclipse首选项中禁用它:
窗口>首选项> Java>编译器>错误/警告>空分析>在包上缺少'@NonNullByDefault'注释= [忽略]
查看源代码或JavaDocs:
Note that for applying an annotation to a package a file by the name
package-info.java is used.
和:
@Target({PACKAGE,TYPE,METHOD,CONSTRUCTOR})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.