@ Nullable / @ NotNull с IntelliJ IDEA, Maven и JSR 305

Мне очень нравятся функции проверки кода, которые теперь можно использовать с аннотациями JSR 305 или Jetbrains для IntelliJ. К сожалению, обе реализации (JSR 305 и Jetbrains) плохо сочетаются:

  • Очевидно, что IntelliJ понимает только свой собственный набор аннотаций и довольно хорошо их интегрирует.
  • Используя Findbugs в моей сборке Maven, он поддерживает только аннотации JSR-305.

Единственный возможный обходной путь может заключаться в использовании JSR-305 и Плагин Findbugs в IntelliJ. Есть ли у кого-нибудь идея получше? (пожалуйста, не говорите смени свою IDE;)).

Спасибо Томас


person Thomas    schedule 17.12.2010    source источник
comment
Совет по переполнению стека: задавая вопрос, относящийся к определенному языку программирования, добавьте этот язык в качестве тега. (Я добавил для вас тег java.)   -  person Laurence Gonsalves    schedule 17.12.2010
comment
Аннотации JetBrains являются лицензией Apache2 с открытым исходным кодом (например, org.jetbrains.annotations.NotNull / Nullable). Что касается их смешивания с FindBugs, см. Ответ ниже (IntelliJ поддерживает любую аннотацию, которую вы определяете для поддержки NotNull / Nullable в IDE)   -  person osundblad    schedule 25.05.2012


Ответы (4)


Это стало возможным с 10.5 IntelliJ: http://blogs.jetbrains.com/idea/2011/03/more-fflexible-and-configurable-nullublenotnull-annotations/

person Wim Deblauwe    schedule 19.05.2011

Я опаздываю на вечеринку, но для будущих читателей это может быть интересно.

Начиная с IntelliJ 15.0.2, вы можете изначально использовать аннотации, отличные от JetBrains:

  • зайти в настройки
  • перейти на вкладку Editor > Inspections
  • go to Java > Probable Bugs > "@NotNull/@Nullable problems"
  • в конце панели параметров (вам может потребоваться прокрутка) есть кнопка Configure annotations, ведущая к этому диалоговому окну, где вы можете выбрать из списка хорошо известных аннотаций:

введите описание изображения здесь

person Joffrey    schedule 04.01.2016

Согласно проблеме IntelliJ IDEA-64677:

  • поддержка произвольных аннотаций @ Nullable / @ NotNull должна быть доступна в IDEA 10.0.3
  • вероятно, будут некоторые шаги ручной настройки, чтобы включить поддержку непатентованных аннотаций (см. комментарии Анны на этой странице)
person mattbh    schedule 09.02.2011

Поскольку этот вопрос специфичен для IntelliJ, его, возможно, лучше всего задать на форуме IntelliJ. Эта тема может показаться вам интересной http://devnet.jetbrains.net/message/5262800. Обратной стороной использования Findbugs является то, что он не обеспечивает внедрение кода для проверок во время выполнения, а JSR-305 вряд ли будет одобрен в ближайшее время.

person Peter Lawrey    schedule 17.12.2010
comment
Питер, спасибо за ссылку. Разместил его здесь, потому что я думаю, что это больше, чем просто IntelliJ;) Кажется, что в Java снова отсутствует единое решение. Возможно, я просто исправлю Findbugs, чтобы учесть аннотации Jetbrains, и переключусь на JSR-305, как только он будет одобрен (если когда-либо). - person Thomas; 22.12.2010