Any easy way to generate a Findbug HTML report from Maven without site:site?

后端 未结 2 1060
终归单人心
终归单人心 2021-01-02 03:14

I am trying to integrate FindBugs in a maven project. Does anyone have a sample pom.xml generating a simple findbug HTML report in target? Is it possible to gen

相关标签:
2条回答
  • 2021-01-02 03:43

    Check out Sonar. It's an open-source, stand-alone, web service that you "submit" your code to and it produces beautiful HTML reports on all kinds of code metrics. It also keeps a history of builds. And best of all, you don't have to modify your builds or poms!

    There is a maven goal for it too: sonar:sonar. Jenkins (previously Hudson) has a plugin for it, so it's totally painless if you use that for your CI.

    Check it out - you won't be sorry!

    0 讨论(0)
  • 2021-01-02 03:49

    Findbugs jar contains 5 XSLT transformations that can be used to convert hard to read XML to easy to read HTML so we can use xml-maven-plugin plugin to execute transformation and here is the configuration:

    <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>
    

    To get the report just execute mvn clean install.

    The above code snippet contains all 5 possible transformations so try them all and hopefully you will find one you like.

    I tried it with maven 3 and Finbugs 2.0

    0 讨论(0)
提交回复
热议问题