从没有site:site的Maven生成Findbug HTML报告的简单方法?

时间:2011-08-12 02:48:44

标签: java html maven report findbugs

我正在尝试将FindBugs集成到maven项目中。有没有人有一个示例pom.xml在目标中生成一个简单的findbug HTML报告?是否可以生成此报告而无需运行site:site

2 个答案:

答案 0 :(得分:27)

Findbugs jar包含5个XSLT转换,可用于将难以读取的XML转换为易于阅读的HTML,因此我们可以使用xml-maven-plugin插件来执行转换,这里是配置:

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.4.0</version>
        <executions>
            <execution>
                <id>findbug</id>
                <phase>verify</phase>
                <goals>
                    <goal>check</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <findbugsXmlOutputDirectory>
                ${project.build.directory}/findbugs
            </findbugsXmlOutputDirectory>
            <failOnError>false</failOnError>
        </configuration>
    </plugin>

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
            <execution>
                <phase>verify</phase>
                <goals>
                    <goal>transform</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <transformationSets>
                <transformationSet>
                    <dir>${project.build.directory}/findbugs</dir>
                    <outputDir>${project.build.directory}/findbugs</outputDir>
                    <stylesheet>fancy-hist.xsl</stylesheet>
                    <!--<stylesheet>default.xsl</stylesheet>-->
                    <!--<stylesheet>plain.xsl</stylesheet>-->
                    <!--<stylesheet>fancy.xsl</stylesheet>-->
                    <!--<stylesheet>summary.xsl</stylesheet>-->
                    <fileMappers>
                        <fileMapper
                                implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                            <targetExtension>.html</targetExtension>
                        </fileMapper>
                    </fileMappers>
                </transformationSet>
            </transformationSets>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>findbugs</artifactId>
                <version>2.0.0</version>
            </dependency>
        </dependencies>
    </plugin>
</plugins>

要获取报告,请执行mvn clean install

上面的代码片段包含所有5种可能的转换,所以请尝试所有转换,希望您能找到自己喜欢的转换。

我用maven 3和Finbugs 2.0尝试了它

答案 1 :(得分:4)

结帐Sonar。它是一个开源的,独立的Web服务,您可以“提交”您的代码,并生成有关各种代码指标的精美HTML报告。它还保留了构建历史。最重要的是,您不必修改您的构建或poms!

它也有一个maven的目标:sonar:sonarJenkins(以前是Hudson)有一个插件,所以如果你将它用于你的CI,那就完全没有了。

检查出来 - 你不会后悔!