2010-12-17 21 views
13

Naprawdę lubię funkcjonalności inspekcji kodu, które są teraz w stanie albo z JSR 305 lub JetBrains' zastrzeżonych adnotacji dla IntelliJ. Niestety obie implementacje (JSR 305 i JetBrains') nie mieszają się dobrze:@ Nullable/@ NotNull z IntelliJ IDEA, Maven i JSR 305

  • IntelliJ oczywiście tylko rozumie własną zastrzeżoną zestaw adnotacji i integruje je dość dobrze.
  • Korzystanie Findbugs w moim Maven produkcji, obsługuje tylko JSR-305 adnotacje.

Jedynym możliwym obejściem może być przejście na JSR-305 i użycie wtyczki Findbugs w systemie IntelliJ. Czy ktoś ma lepszy pomysł? (proszę nie mówić zmiany IDE;)).

Dzięki Thomas

+0

wskazówka przepełnienie stosu: kiedy zadaje pytanie specyficzne dla danego języka programowania, należy dodać, że język jako znacznik. (Dodałem tag java dla ciebie.) –

+0

JetBrains adnotacje są Apache2 licencji open source (np org.jetbrains.annotations.NotNull/Nullable). Jeśli chodzi o mieszanie ich z FindBugs patrz odpowiedź poniżej (IntelliJ obsługuje żadnej adnotacji zdefiniować dla IDE NotNull/Nullable wsparcia) – osundblad

Odpowiedz

1

Jak to pytanie jest specyficzne IntelliJ to jest chyba najbardziej zadawane na forum IntelliJ. Możesz znaleźć ten wątek interesujący http://devnet.jetbrains.net/message/5262800. Wadą korzystania Findbugs jest to, że nie daje zastrzyk kodu do kontroli wykonywania i JSR-305 nie wydaje się prawdopodobne, aby być zatwierdzony w najbliższym czasie.

+0

Piotra, dzięki za link. Wysłałem to tutaj, ponieważ uważam, że to coś więcej niż tylko IntelliJ;) Wydaje się, że po raz kolejny Java nie ma jednolitego rozwiązania.Może po prostu poprawię Findbugs, by wziąć pod uwagę adnotacje Jetbrains i przełączyłem się na JSR-305 po zatwierdzeniu (jeśli kiedykolwiek). – Thomas

2

Według IntelliJ emisji IDEA-64677:

  • wsparcie dla dowolnych @ Nullable/@ NotNull adnotacje powinny być dostępne w IDEA 10.0.3
  • prawdopodobnie pojawi jakiś etap (y) do ręcznej konfiguracji włączyć obsługę niewłaściwą adnotacji (patrz komentarz Anny na tej stronie)
6

jestem późno do partii, ale dla przyszłych czytelników, że to może być ciekawe.

Od IntelliJ 15.0.2, może natywnie stosować inne adnotacje niż te JetBrains:

  • przejść do ustawień
  • przejdź do zakładki Editor > Inspections
  • iść do Java > Probable Bugs > "@NotNull/@Nullable problems"
  • w na końcu panelu opcji (może być konieczne przewinięcie), znajduje się przycisk Configure annotations, prowadzący do tego okna dialogowego, w którym można wybrać z listy dobrze znanych adnotacji:

enter image description here