2010-12-17 116 views
13

我真的很喜歡代碼檢查功能,現在可以使用JSR 305或Jetbrains的IntelliJ專有註釋。 不幸的是這兩種實現(JSR 305和JetBrains公司)不拌勻:@Nullable/@NotNull與IntelliJ IDEA,Maven和JSR 305

  • 的IntelliJ明明只有瞭解了自己的專有的註釋集合,並將它們集成了相當不錯的。
  • 在我的Maven Build中使用Findbugs,它只支持JSR-305註解。

唯一可能的解決方法可能是去找JSR-305並在IntelliJ中使用Findbugs插件。 有沒有人有更好的主意? (請不要說改變你的IDE;))。

感謝 托馬斯

+0

堆棧溢出提示:要求針對特定的編程語言的一個問題時,添加語言的標籤。 (我爲你添加了java標籤。) – 2010-12-17 07:58:01

+0

JetBrains註釋是Apache2許可證開源(例如org.jetbrains.annotations.NotNull/Nullable)。至於將它們與FindBugs混合,請參閱下面的答案(IntelliJ支持您爲IDE NotNull/Nullable支持定義的任何註釋) – osundblad 2012-05-25 10:35:09

回答

1

由於這個問題是具體的IntelliJ它也許是最上的IntelliJ論壇問。您可能會發現此線程有趣http://devnet.jetbrains.net/message/5262800。使用Findbugs的不利之處在於它沒有爲運行時檢查提供代碼注入,並且JSR-305似乎不可能很快得到批准。

+0

Peter,感謝您的鏈接。因爲我認爲它不僅僅是IntelliJ,所以在這裏發佈它;)似乎Java再次缺乏統一的解決方案。也許我只會修補Findbugs,將Jetbrains註釋考慮在內,並在獲得批准後切換到JSR-305(如果曾經)。 – Thomas 2010-12-22 07:48:58

2

根據的IntelliJ問題IDEA-64677

  • 任意 @可空/ @ NOTNULL註釋的支持應該 在IDEA提供10.0.3
  • 的時候,可能一些手動配置步驟(或多個)啓用對非專有註釋的支持(請參見Anna對該頁面的評論)
6

我對派對遲到了,但對於未來的讀者來說這可能很有趣。

由於15.0.2的IntelliJ的,你可以使用本地其他註釋比JetBrains的那些:

  • 去設置
  • 轉到Editor > Inspections標籤
  • Java > Probable Bugs > "@NotNull/@Nullable problems"
  • 在選項面板的末尾(您可能需要滾動),則會出現一個Configure annotations按鈕,從而導致您可以從衆所周知的註釋列表中選擇一個對話框:

enter image description here