我想在我的代码中使用Project Lombok,并且我正在使用SonarQube和SonarLint(在IntelliJ IDEA中)。
当我创建一个像这样私有字段的新类:
然后警告消失了(正确!)。 (因此我知道SonarQube基本上理解Lombok注释。)
现在,当我创建另一个这样的类时。
警告仍然存在。
SonarQube不支持这个注释吗?我发现了这个JIRA issue(以及许多在stackoverflow、github等地方的讨论),我认为它应该可以工作。
(我正在使用IntellIJ 2016.1.3;SonarLint 2.2;lombok 1.16.8;SonarQube 5.5;SonarQube Java插件3.13.1)
有任何帮助吗?
当我创建一个像这样私有字段的新类:
public class Test {
private String testfield;
}
然后我从SonarQube / SonarLint获得了正确的警告“删除此未使用的私有字段”(squid:S1068
)...(因此我知道基本配置正在工作。)
当我向字段添加@Getter @Setter
注释时:
public class Test {
@Getter @Setter
private String testfield;
}
然后警告消失了(正确!)。 (因此我知道SonarQube基本上理解Lombok注释。)
现在,当我创建另一个这样的类时。
public class Test2 {
public static void doSomething() {
System.out.println("hey");
}
}
我收到了警告消息"添加一个私有构造函数" (squid:S1118
)... (这是正确和预期的)
但是当我现在像这样添加@NoArgsConstructor
注释时
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class Test2 {
public static void doSomething() {
System.out.println("hey");
}
}
警告仍然存在。
SonarQube不支持这个注释吗?我发现了这个JIRA issue(以及许多在stackoverflow、github等地方的讨论),我认为它应该可以工作。
(我正在使用IntellIJ 2016.1.3;SonarLint 2.2;lombok 1.16.8;SonarQube 5.5;SonarQube Java插件3.13.1)
有任何帮助吗?
@SuppressWarnings("squid:S1118")
注释类之外,是否有更好的解决方案? - Josef Reichardt