Как подавить несколько предупреждений FindBugs для одной и той же строки кода

Недавно я обнаружил аннотацию FindBugs @edu.umd.cs.findbugs.annotations.SuppressWarnings, которая довольно крутая и позволяет вам в основном сказать FindBugs игнорировать определенные предупреждения.

Я успешно реализовал свою собственную привязку SLF4J, следуя их рекомендациям взять slf4j-simpleи модифицировать его с помощью ваших собственных привязок регистратора и фабрики регистратора, и я рад сообщить, что он работает как очарование.

Я только что провел поиск ошибок в пакете, содержащем эту привязку SLF4J, и он жалуется на определенную строку кода, написанную первоначальным StaticLoggerBinderавтором (Ceki Gulku):

// to avoid constant folding by the compiler, this field must *not* be final.
publicstatic String REQUESTED_API_VERSION = "1.6"; // !final

FindBugs жалуется, что это поле "не является окончательным, но должно быть ". Однако (очень) умные люди из SLF4J уже подумали об этом и разместили соответствующие комментарии, приведенные выше.

Итак, просто чтобы заставить FindBugs заткнуться, я изменил код в соответствии с моим обычным способом подавления предупреждений FB:

@edu.umd.cs.findbugs.annotations.SuppressWarnings("MS_SHOULD_BE_FINAL")
public static String REQUESTED_API_VERSION = "1.6";

Когда я очищаю свой проект и повторно запускаю FindBugs, я получаю секундупредупреждение в той же строке кода, на этот раз жалующееся:

Это поле никогда не читается. Поле является общедоступным или защищенным, поэтому, возможно, оно предназначено для использования с классами, не рассматриваемыми как часть анализа. Если нет, рассмотрите возможность удаления его из класса.

Когда я добавляю это второе подавление предупреждений:

@edu.umd.cs.findbugs.annotations.SuppressWarnings("MS_SHOULD_BE_FINAL")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
public static String REQUESTED_API_VERSION = "1.6";

Я получаю компилятор/синтаксическую ошибку от Eclipse:

Повторяющаяся аннотация @SuppressWarnings.

Как подавить несколько предупреждений FindBugs в одной строке кода?

17
задан IAmYourFaja 5 June 2012 в 11:24
поделиться