Maven Findbugs插件 - 如何在测试类上运行findbug

Leo*_*nel 9 java findbugs maven

Maven版本:3.3.3.Findbugs插件版本:3.0.1

  1. 我正在使用findbugs-maven-plugin,我需要在src和测试类上运行findbugs插件.目前,它仅适用于源类

    Target
    |_ classes
    |_ test-classes
    |_ findbugs (only have results regarding classes folder)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我需要为PMD插件做同样的事情.同样的提示可能吗?

相关问题:

Findbugs maven配置:

<profile>
    <id>findbugs</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>${findbugs.version}</version>
                <configuration>
                    <effort>Max</effort>
                    <failOnError>true</failOnError>
                    <threshold>Low</threshold>
                    <xmlOutput>true</xmlOutput>
                    <includeTests>true</includeTests>
                    <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
                </configuration>
                <executions>
                    <execution>
                        <id>analyze-compile</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                            <goal>findbugs</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</profile>
Run Code Online (Sandbox Code Playgroud)

Tun*_*aki 7

在配置中findbugs-maven-plugin,您需要明确地将includeTests元素设置true为FindBugs以分析测试类:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <version>3.0.1</version>
  <configuration>
    <!-- rest of configuration -->
    <includeTests>true</includeTests>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

此外,插件应该绑定到verify阶段,以便在编译源和测试类之后执行FindBugs.

对于maven-pmd-plugin它,实际上是相同的:includeTests必须true在插件配置中将元素设置为.