сонаркуб 4.2 и ломбок

После обновления SonarQube с 4.0 до 4.2 я получил кучу ошибок «Неиспользуемые закрытые поля должны быть удалены» из классов с аннотациями Lombok.

у меня есть

@SuppressWarnings("PMD.UnusedPrivateField")

объявляется в начале всех этих классов. Это работало нормально, когда я использовал SonarQube 3.7 и 4.0.

я использую

mvn sonar:sonar

для создания отчета SonarQube.

И это показывает, как выглядит мой класс:

@Data
@SuppressWarnings("PMD.UnusedPrivateField")
public class MyClass {
    private String field;
}

Как я могу избавиться от этих ошибок в версии 4.2? Спасибо.


person su-    schedule 08.04.2014    source источник


Ответы (2)


«Неиспользуемые частные поля должны быть удалены» — это сообщение, сгенерированное внутренним правилом SonarQube squid:S1068, в то время как ваша аннотация @SuppressWarnings отключает соответствующую (и устаревшую) проверку PMD.

Возможно, вы захотите проверить свой профиль качества, в конечном итоге отключить это правило или добавить некоторые исключения для расширенных классов Ломбока.

person Mithfindel    schedule 08.04.2014
comment
Если быть точнее, ставя исключения для Ломбока, я имел в виду, что можно установить исключение правила для этих классов, чтобы правило отключалось только для соответствующего кода (даже без изменения исходного кода). - person Mithfindel; 09.04.2014
comment
Спасибо. Это подходит для меня. В итоге я поместил правило вроде шаблона ключа правила: squid:S1068, шаблон пути к файлу: */beans/.java в разделе «Игнорировать проблемы по нескольким критериям». Теперь я также могу удалить @SuppressWarning из своих классов. - person su-; 09.04.2014

Вы также можете индивидуально исключить анализ Sonar для полей, используя //NOSONAR, что хорошо, потому что вам не нужно отключать это правило глобально, если ваши классы @Data разбросаны по вашему проекту, но этот вариант также имеет недостаток, заключающийся в том, что он отключает все Сонарный анализ на этой конкретной линии.

@Data
public class MyClass {
    private String field; //NOSONAR
}
person user3592745    schedule 28.11.2014