2

バグを特定するためにFindBugsプラグインを使用している 2 つのプロジェクトがあります。mavenまた、@SuppressFBWarnings注釈を使用して特定のバグを無視しています。

最初のプロジェクトでは、依存関係を pom.xml に追加したところ、findbugs レポートと注釈の両方が正常に機能しました。2 番目のプロジェクトでは、レポートが生成されますが、注釈を使用して抑制したバグがまだ特定されています。

mvn clean install site自分のマシンのビルド フォルダーにレポートを生成するために実行します。

私が言及した 2 つのプロジェクトのそれぞれには、サブディレクトリに独自の pom.xml ファイルを持つサブプロジェクトがあるため、親ディレクトリにも pom.xml があります。このディレクトリ レイアウトは、両方のメイン プロジェクトで同じようにミラーリングされます。

<reporting>タグの下の親 poms に追加した XML は次のとおりです。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <xmlOutput>true</xmlOutput>
        <findbugsXmlOutput>true</findbugsXmlOutput>
        <fork>true</fork>
        <threshold>Low</threshold>
        <effort>Min</effort>
    </configuration>
</plugin>

また、この同じ親 pom で、これを<dependencyManagement><dependencies>セクションに追加しました。

<dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>2.0.1</version>
</dependency>

これは両方のメイン プロジェクトの poms で同じです。

さて、私が実際に@SuppressFBWarnings注釈を使用するサブプロジェクトで、その特定のサブプロジェクトでのみ、私はこれを以下に持っています<dependencies>:

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>annotations</artifactId>
    <version>2.0.1</version>
</dependency>

また、これは他の作業プロジェクトに反映されます。直接コピーして貼り付けました。

1 つのプロジェクトは完璧に機能し、誤検知をうまく抑えることができました。他のプロジェクトは注釈を完全に無視しており@SuppressFBWarnings、修正できないようです。

私がここに欠けているものはありますか?

注釈が見つからない場合、エラーを出すのではなく、単に無視すると思いますか? 見つからない場合はどうすればわかりますか?

うまくいけば、これは簡単な修正です。

ありがとう。

4

3 に答える 3

2

@SuppressFBWarnings は、バージョン 3 のアノテーションで導入されました。そのため、次のようになります。

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>annotations</artifactId>
    <version>3.0.1</version>
</dependency>
于 2015-12-09T21:59:01.567 に答える
0

アノテーション artifcat をプラグインの依存関係に追加してみてください:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <xmlOutput>true</xmlOutput>
        <findbugsXmlOutput>true</findbugsXmlOutput>
        <fork>true</fork>
        <threshold>Low</threshold>
        <effort>Min</effort>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>annotations</artifactId>
            <version>2.0.1</version>
        </dependency>
    </dependencies>
</plugin>
于 2013-02-20T13:22:30.437 に答える