@ Нечистое поведение отличается для Затмения Юноны и Кеплера?
Я сталкиваюсь с довольно странным сценарием, который мне до сих пор удавалось точно указать на разные версии Eclipse. Мне интересно, может ли кто-нибудь сказать мне, в чем именно проблема (Юнона не поддерживает, Кеплер обеспечивает лучшую поддержку и т. Д.). Я использую jsr305 для аннотаций.
У меня есть следующий пример кода, чтобы повторить поведение.
@Nonnull
String test = null;
Это не должно работать, как я прямо сказал, используя аннотации, что тест не должен быть нулевым. Это ловит это в Кеплере, но в Юноне это не делает. Все настройки одинаковы, это просто случай несовместимости версий с jsr305?
1 ответ
Юнона не поддерживает маркировку полей как @Nullable
но Кеплер делает. Смотрите эти интересные посты:
- Потенциальное исправление: есть ли хороший плагин Eclipse для проверки аннотаций @Nonnull и @Nullable?
- Связанная статья: http://www.scottlogic.com/blog/2013/09/09/nullable-in-kepler.html
Я предпочитаю использовать плагин FindBugs Maven, поскольку я не зависим от IDE и могу применять политики во время сборки. Я в основном использую эти аннотации:
import javax.annotation.CheckForNull;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
Я, наверное, тоже должен взглянуть на поддержку IDE, но это было бы только "лишним".