2016-07-28 50 views
2

我們使用Java 8和依賴注入(GUICE)。 目前我們有一個假陽性問題,關於未使用的方法,雖然此方法是通過GUICE Injector中的反射來調用的,因爲Inject Annotation。使用@Inject註解的Java方法:對於規則「未使用的」私有方法應該被刪除?

影響的代碼:

@Inject 
private void setTransactionalCommandStack(TransactionalCommandStack transactionalCommandStack) { 
    ... 
} 

SQ舉報違反規則的魷魚:UnusedPrivateMethod

未使用的 「私有」 的方法應該在這個地方被刪除

,並說

私人方法'setTransactionalCommandStack'從不使用

對未使用的方法進行檢查的Eclipse環境可以正確檢測到它,並且只在該方法沒有@Inject註釋時纔會發出警告。 我期望在SonarQube中也是如此。

我測試了註釋javax.inject.Inject和com.google.inject.Inject。在這兩種情況下,SonarQube報告該方法未被使用。

SQ版本:5.3

的Java插件版本:3.14

回答

1

此問題已在Java分析器4.0的版本,只有SQ LTS 5.6兼容。見相應的JIRA票SONARJAVA-1179

相關問題