【发布时间】:2016-12-02 16:31:18
【问题描述】:
我们正在使用 Java 8 和依赖注入 (GUICE)。 目前我们有一个关于未使用方法的误报 Sonar 问题,尽管由于 Inject Annotation,此方法是通过来自 GUICE Injector 的反射调用的。
受影响的代码:
@Inject
private void setTransactionalCommandStack(TransactionalCommandStack transactionalCommandStack) {
...
}
SQ 报告违反规则 squid:UnusedPrivateMethod
应删除未使用的“私有”方法
在这个地方说
从未使用私有方法“setTransactionalCommandStack”
。
Eclipse 环境也可以检查未使用的方法,它会正确检测到它,并且只有在我没有该方法的 @Inject 注释时才会发出警告。 我对 SonarQube 的期望是一样的。
我测试了 Annotation javax.inject.Inject 和 com.google.inject.Inject。在这两种情况下,SonarQube 都会报告该方法未使用。
SQ 版本:5.3
Java 插件版本:3.14
【问题讨论】:
标签: java dependency-injection sonarqube