将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版中的这些错误?谢谢.
解决方法:
内部SonarQube规则squid:S1068生成的消息是“应该删除未使用的私有字段”,而您的@SuppressWarnings批注将禁用匹配的(和不建议使用的)PMD检查.
您可能要检查质量配置文件,最终禁用此规则,或者为Lombok增强类添加一些排除项.