我们正在使用Java 8和依赖注入(GUICE)。 目前我们有一个假阳性的声纳问题,关于未使用的方法,虽然这个方法是通过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