2010-12-17 3 views
13

J'aime vraiment les fonctionnalités d'inspection de code qui sont maintenant possibles avec JSR 305 ou les annotations propriétaires de Jetbrains pour IntelliJ. Malheureusement, les deux implémentations (JSR 305 et JetBrains') ne se mélangent pas bien:@ Nullable/@ NotNull avec IntelliJ IDEA, Maven & JSR 305

  • IntelliJ évidemment ne comprend son propre ensemble exclusif d'annotations et les intègre très bien.
  • En utilisant Findbugs dans ma version Maven, il ne prend en charge que les annotations JSR-305.

La seule solution possible pourrait être d'aller JSR-305 et utiliser le plug-in Findbugs dans IntelliJ. Quelqu'un a une meilleure idée? (s'il vous plaît ne dites pas changer votre IDE;)).

Merci Thomas

+0

Stack bout Overflow: pour poser une question spécifique à un langage de programmation, ajouter cette langue comme une balise. (J'ai ajouté la balise java pour vous.) –

+0

Les annotations JetBrains sont une licence open source Apache2 (par exemple org.jetbrains.annotations.NotNull/Nullable). En ce qui concerne le mélange avec FindBugs, voir la réponse ci-dessous (IntelliJ supporte toutes les annotations que vous définissez pour le support IDE NotNull/Nullable) – osundblad

Répondre

1

Cette question est spécifique IntelliJ il est peut-être mieux demandé sur un forum IntelliJ. Vous pourriez trouver ce fil intéressant http://devnet.jetbrains.net/message/5262800. L'inconvénient de l'utilisation de Findbugs est qu'il ne fournit pas d'injection de code pour les contrôles d'exécution et JSR-305 ne semble pas susceptible d'être approuvé de sitôt.

+0

Peter, merci pour le lien. Je l'ai publié ici parce que je pense que c'est plus que juste IntelliJ;) Il semble qu'une fois de plus Java n'a pas de solution unifiée.Peut-être que je vais juste patcher Findbugs pour prendre en compte les annotations de Jetbrains et passer à JSR-305 une fois qu'il sera approuvé (si jamais). – Thomas

2

Selon question IntelliJ IDEA-64677:

  • soutien arbitraires @ Nullable/@ notNull annotations devraient être disponibles dans IDEA 10.0.3
  • il y aura probablement une étape de configuration manuelle (s) à activer la prise en charge des annotations non propriétaires (voir les commentaires d'Anna sur cette page)
6

Je suis en retard à la fête, mais pour les futurs lecteurs, cela pourrait être intéressant.

Au IntelliJ 15.0.2, vous pouvez utiliser nativement d'autres annotations que celles JetBrains:

  • aller aux réglages
  • allez dans l'onglet Editor > Inspections
  • aller à Java > Probable Bugs > "@NotNull/@Nullable problems"
  • à à la fin du panneau d'options (vous devrez peut-être faire défiler), il y a un bouton Configure annotations, menant à cette boîte de dialogue où vous pouvez choisir parmi une liste d'annotations bien connues:

enter image description here