@Nullable/@NotNull with IntelliJ IDEA, Maven & JSR 305

空扰寡人 提交于 2019-11-29 02:35:10

问题


I really like the code inspection functionalities which are now able with either JSR 305 or Jetbrains' proprietary annotations for IntelliJ. Unfortunately both implementations (JSR 305 and Jetbrains') do not mix well:

  • IntelliJ obviously only understands its own proprietary set of annotations and integrates them quite well.
  • Using Findbugs in my Maven Build, it only supports JSR-305 annotations.

The only possible workaround might be to go for JSR-305 and use the Findbugs plugin in IntelliJ. Has anybody a better idea? (please don't say change your IDE ;) ).

Thanks Thomas


回答1:


This has been made possible with the 10.5 of IntelliJ: http://blogs.jetbrains.com/idea/2011/03/more-flexible-and-configurable-nullublenotnull-annotations/




回答2:


I'm late to the party, but for future readers this might be interesting.

As of IntelliJ 15.0.2, you may natively use other annotations than the JetBrains ones:

  • go to the settings
  • go to the Editor > Inspections tab
  • go to Java > Probable Bugs > "@NotNull/@Nullable problems"
  • at the end of the options panel (you might need to scroll), there is a Configure annotations button, leading to this dialog where you can select from a list of well-known annotations:




回答3:


According to IntelliJ issue IDEA-64677:

  • support for arbitrary @Nullable/@NotNull annotations should be available in IDEA 10.0.3
  • there will probably some a manual configuration step(s) to enable support for the non-proprietary annotations (see Anna's comments on that page)



回答4:


As this question is IntelliJ specific it is perhaps best asked on an IntelliJ forum. You might find this thread interesting http://devnet.jetbrains.net/message/5262800. The downside of using Findbugs is that it doesn't provide code injection for runtime checks and JSR-305 doesn't appear likely to be approved anytime soon.



来源:https://stackoverflow.com/questions/4468599/nullable-notnull-with-intellij-idea-maven-jsr-305

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!