@Nullable / @NotNull与IntelliJ IDEA,Maven和JSR 305

我非常喜欢代码检查function,现在可以使用JSR 305或Jetbrains的IntelliJ专有注释。 不幸的是,两种实现(JSR 305和Jetbrains’)混合不好:

  • IntelliJ显然只能理解它自己的专有注释集并很好地集成它们。
  • 在我的Maven Build中使用Findbugs,它只支持JSR-305注释。

唯一可能的解决方法可能是使用JSR-305并使用IntelliJ中的Findbugs插件。 谁有更好的主意? (请不要说改变你的IDE;))。

谢谢托马斯

使用IntelliJ的10.5可以实现这一点: http : //blogs.jetbrains.com/idea/2011/03/more-flexible-and-configurable-nullublenotnull-annotations/

我迟到了,但对于未来的读者来说,这可能很有趣。

从IntelliJ 15.0.2开始,您可以使用其他注释而不是JetBrains注释:

  • 转到设置
  • 转到Editor > Inspections选项卡
  • 转到Java > Probable Bugs > "@NotNull/@Nullable problems"
  • 在选项面板的末尾(您可能需要滚动),有一个Configure annotations按钮,通向此对话框,您可以从中选择一个众所周知的注释列表:

在此处输入图像描述

根据IntelliJ问题IDEA-64677 :

  • 在IDEA 10.0.3中应该支持任意@Nullable / @NotNull注释
  • 可能会有一些手动配置步骤来支持非专有注释(参见Anna对该页面的评论)

由于这个问题是IntelliJ特定的,因此最好在IntelliJ论坛上询问。 您可能会发现此主题很有趣http://devnet.jetbrains.net/message/5262800 。 使用Findbugs的缺点是它不为运行时检查提供代码注入,并且JSR-305似乎不会很快被批准。