web-dev-qa-db-ja.com

pmdでの違反の抑制

Pmd分析を実行すると、違反が発生します。

Each class should declare at least one constructor

この違反はSpringコントローラーにあります。このコントローラーはSpringによってインスタンス化されるため、このクラスを呼び出す必要はありません。

この違反を無視するための推奨される方法は何ですか?

http://pmd.sourceforge.net/pmd-4.3/suppressing.html によると// NOPMDを使用できますが、特定の違反を無視したいだけです。

11
blue-sky

PMDは、@ SuppressWarningsアノテーションもサポートしています。

// This will suppress all the PMD warnings in this class
@SuppressWarnings("PMD")
public class Bar {
 void bar() {
  int foo;
 }
}

または、1種類の警告:

// This will suppress UnusedLocalVariable warnings in this class
@SuppressWarnings("PMD.UnusedLocalVariable")
public class Bar {
 void bar() {
  int foo;
 }
}

また、調べたいのは ルールセットと除外の作成 です。特定のルールを無効にしたり、PMDチェックから特定のファイルを除外したりする場合があります。

17
HairyFotr

私の組織では@ blue-sky POMファイルのPMD無視オプションを使用して、自動生成する(および別のモジュールに保持される)クライアントスタブに対して生成されるすべての警告を抑制します。これらはサードパーティのクライアントスタブであるためです。警告や違反があると思って彼らに触れる傾向があり、私もあなたのために同じことを想定しています。

以下は、クライアントスタブモジュールを含むPOMファイルのスニペットです。

<build>
    <plugins>
        <plugin>
            <!-- <groupId>org.Apache.maven.plugins</groupId> -->
            <artifactId>maven-pmd-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>

    <pluginManagement>
        <plugins>       
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.8</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

このようにして、PMDプラグインによって発生する警告を完全にスキップできます。

これがあなたと私があなたの質問の理解に正しいことを願っています。

よろしく、アクシャイ

0
akshayp