2

我有 2 个项目,我正在使用FindBugs插件maven来识别错误。我还使用@SuppressFBWarnings注释来忽略特定的错误。

在第一个项目中,我将依赖项添加到 pom.xml 中,findbugs 报告和注释都运行良好。在第二个项目中,生成了报告,但它仍然识别出我使用注释抑制的错误。

我运行mvn clean install site以在构建文件夹中的计算机上生成报告。

我提到的两个项目中的每一个都有子项目,它们的子目录中有自己的 pom.xml 文件,所以在父目录中,我也有一个 pom.xml。此目录布局在两个主要项目中完全相同。

<reporting>这是我在标签下添加到父 pom 中的 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>

这在两个主要项目 pom 中是相同的。

现在,在我实际使用@SuppressFBWarnings注释的子项目中,并且仅在那个特定的子项目中,我在下面有这个<dependencies>

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

此外,这反映在其他工作项目中。我直接复制粘贴了。

一个项目完美无缺,我可以成功抑制误报。另一个项目完全忽略了@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 回答
0

确保添加的依赖项位于依赖项标记之间。像这样:

<dependencies>
  <dependency>
     <groupId>something</groupId>
     <artifactId>something</artifactId>
      <version>something</version>
  </dependency>
<dependencies>
于 2017-08-04T13:53:54.400 回答