我刚刚安装了最新版本的SonarLint,并针对我们的新学员的代码启动了完整的SonarLint分析,该学员将一些非静态的非注入成员放入Spring单例中,就像在此示例中一样:
@Controller
public class HelloWorld {
private String name = null;
@RequestMapping("/greet", method = GET)
public String greet(String greetee) {
if (greetee != null) {
this.name = greetee;
}
return "Hello " + this.name; // if greetee is null, you see the previous user's data
}
}
https://rules.sonarsource.com/java/tag/spring/RSPEC-3749
所以我希望SonarLint能够检测到它,但是没有(我有其他建议,但对此一无所知)。
这条规则是否是特殊集的一部分,需要在某个位置的conf中激活?
答案 0 :(得分:3)
您直觉上认为,规则squid:S3749在默认情况下不是质量配置文件的一部分(通常称为 SonarWay )。因此,如果没有适当的配置,它将不会与SonarLint的全新安装一起执行。
从那里,您有两个选择来启用规则:
请注意,不幸的是,https://rules.sonarsource.com/当前无法查看有关质量概况的信息(我现在正在进行内部反馈,以便将来解决此问题)