2016-11-02 30 views
4

Project Lombok@Getter注釈を使用している間に偽陽性を発見したと思います。SonarQube偽陽性squid:@Getter(lombok)注釈付きフィールドのS1450

次の例のクラスでは、「メソッドのローカル変数としてのみ使用されるプライベートフィールドはローカル変数にする必要があります」というメッセージが表示されますsquid:S1450)。

public class Example { 

    @Getter 
    private String exampleField; // <-- squid:S1450 

    public Example(final String value) { 
     setExampleField(value); 
    } 

    private void setExampleField(final String exampleField) { 
     this.exampleField = exampleField; 
    } 

} 

誰かがこれを確認できますか? SonarQubeルールのバグですか、私のクラスやこのルールや@Getter注釈の理解が間違っていますか?ただ、完全を期すため

  • プロジェクトロンボク注釈や生成されたメソッドは、他のSonarQubeルールで正しく認識されています。だから、私の設定は大丈夫だと思います。
  • 私も@Getterアノテーションをクラスレベルに配置しようとしましたが、私は同じ警告を受けました。
  • この警告は、SonarLint(IntelliJ IDEA)およびSonarQubeのWebインターフェイスに表示されます。だから私は、アナライザを実行している間はエラーではないと思う。
  • IntelliJ IDEAのSonarLint pluignをSonarQube Serverにバインドしましたが、このリモート接続が機能します。

    • SonarQube 6.0
    • SonarQubeのJavaプラグイン4.2
    • (のIntelliJ IDEAのための)SonarLint 2.3.2
    • のIntelliJ IDEA 2016年2月5日
    • :私は次のバージョンでテストしている

  • Java 8

答えて

関連する問題