Исключить правила сонара

Есть ли способ исключить правила сонара (версия 4.0) с помощью кода Java?

Я использую на своих занятиях:

@SuppressWarnings("all")

Но сонар не решает всех проблем, у нас все еще есть:

  • Корректность — класс определяет поле, которое маскирует поле суперкласса
  • Проблемы с дублированием кода

Я что-то пропустил?

РЕДАКТИРОВАТЬ: В документах сонара SuppressWarnings деактивирует все правила, но не работай на меня. Эта аннотация удаляет только некоторые правила.


person Omar Hrynkiewicz    schedule 29.01.2014    source источник
comment
какую версию сонара вы используете? возможно, вам придется использовать следующий подключаемый модуль: Отключить нарушение   -  person Arnaud Potier    schedule 29.01.2014


Ответы (2)


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

@edu.umd.cs.findbugs.annotations.SuppressWarnings(
    value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
    justification = "Why you choose to ignore it")
person Alex K.    schedule 29.01.2014
comment
Почему бы не использовать java.lang.@SuppressWarnings(all)? - person Omar Hrynkiewicz; 30.01.2014
comment
Ну, потому что его игнорирует Find Bugs (на который полагается сонар). - person Alex K.; 30.01.2014

Спасибо @ArnaudPotier и @AlexanderGavrilov

Отвечая на мой собственный пост:

Есть ли способ исключить правила сонара (версия 4.0) с помощью кода Java?

Да, но требуется настройка сонара: http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus#NarrowingtheFocus-IgnoreIssues

  • Добавлено регулярное выражение для файлов: javax\.annotation\.Generated
  • Аннотация к классу: @Generated(value = { "someValue" })

java.lang.@SuppressWarnings("all") работает не со всеми проблемами.

person Omar Hrynkiewicz    schedule 30.01.2014