![](/img/trans.png)
[英]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.