项目站点

Maven3用户必须使用3.x版本的maven-site-plugin

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.0-beta-1</version>
        </plugin>
    </plugins>
</pluginManagement>

Maven2用户应该使用maven-site-plugin最新的2.x版本

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>2.1.1</version>
        </plugin>
    </plugins>
</pluginManagement>

运行mvn site即可直接生成一个最简单的站点。在target/site目录下可以找到Maven生成的站点文件

若想在本地查看结构正确的站点,可以用maven-site-plugin的stage目标,将站点预发布至某个本地临时目录下

mvn site:stage -DstagingDirectory=D: mp

默认情况下,Maven生成的站点包含了很多项目信息链接,这实际上是一个名为maven-project-info-reports-plugin的插件生成的。在Maven3中,该插件配置内置在maven-site-plugin中,在Maven2中,该插件的配置内置在核心源码中。该插件会基于POM配置生成下列项目的信息报告:

  about:项目的描述

  Continuous Integration:项目持续集成服务器信息

  Dependencies:项目依赖信息,包括传递性依赖、依赖图、依赖许可证以及依赖文件的大小,所包含的类数目等

  Dependency Convergence:只针对多模块项目生成,提供一些依赖健康状况分析

  Dependency Management:基于项目的依赖管理配置生成的报告

  Issue Tracking:项目的问题追踪系统信息

  Mailing Lists:项目的邮件列表信息

  Plugin Management:项目所使用插件的列表

  Project License:项目的许可证信息

  Project Summary:项目概述包括坐标、名称、描述等

  Project Team:项目团队信息

  Source Repository:项目的源码仓库信息

报告插件在<project><reporting><plugins>下配置

JavaDocs

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>mavem-javadoc-plugin</artifactId>
            <version>2.7</version>
        </plugin>
    </plugins>
</reporting>    

在生成站点的时候配置maven-jxr-plugin,Maven会以Web页面的形式将Jave源代码展现出来

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.2</version>
       <configuration>
        <aggregate>true</aggregate> //聚合模块所有的源码
       </configuration> </plugin> </plugins> </reporting>

CheckStyle

  checkStyle是一个用来帮助Java开发人员遵循编码规范的工具,能根据一套规则自动检查Java代码,是的团队能够方便地定义自己的编码规范。

  默认情况下,maven-checkstyle-plugin会使用Sun定义的编码规范,也能够选择其他的预置规则。

  maven-checkstyle-plugin内置了四种规则:

    config/sun_checks.xml:Sun定义的编码规范(默认值)

    config/maven_checks.xml:Maven社区定义的编码规范

    config/turbine_checks.xml:Turbine定义的编码规范

    config/avalon_checks.xml:Avalon定义的编码规范

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkystyle-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <configLocation>config/maven_checks.xml</configLocation>
            </configuration>
        </plugin>
    </plugins>
</reporting>

通常用户所在的组织会有自己的编码规范,这时需要创建自己的checkstyle规则文件,然后再configLocation中配置即可。

maven-checkstyle-plugin还不支持聚合项目,因此想在各个模块中重用自定义的checkstyle规则还要配置一些额外的配置:

  1.在聚合模块配置maven-checkstyle-plugin依赖该模块

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.5</version>
            <dependencies>
                <dependency>
                    <groupId>co.maven_in_action</groupId>
                    <artifactId>module-a</artifactId>
                    <version>1.0</version>   
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>    

  2.在聚合模块配置maven-checkstyle-plugin使用模块中的checkstyle规则

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.5</version>    
            <configuration>
                <configLocation>checkstyle/my_checkstyle.xml</configLocation>
            <configuration>
        </plugin>
    </plugins>
</reporting>

PMD

  PMD是Java源代码分析工具,它能够寻找代码中的问题。包括嵌在的bug、无用代码、可优化代码、重复代码以及过于复杂的表达式。

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.5</version>
          <configuration>
         <aggregate>true</aggregate> 
       </configuration>
     </plugin> </plugins> </reporting>

maven-pmd-plugin会生成一个PMD和CPD的报告。CPD报告中包含了代码拷贝粘贴的分析结果。PMD包含了大量的分析规则 。PMD默认使用的规则为rulesets/basic.xml、rulesets/unusedcode.xml和rulesets/importss.xml。

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.5</version>
            <configuration>
                <rulesets>
                    <ruleset>rulesets/braces.xml</ruleset>
                    <ruleset>rulesets/naming.xml</ruleset>
                    <ruleset>rulesets/strings.xml</ruleset>
                </rulesets>
            </configuration>
        </plugin>
    </plugins>
</reporting>

ChangeLog

  maven-changelog-plugin能够基于版本控制系统中就近的变更记录生成三份变更报告,他们分别为:

    Change Log:基于提交的变更报告,包括每次提交的日期、文件、作者、注释等信息

    Developer Activity:基于作者的变更报告,包括作者列表以及每个作者相关的提交次数和涉及文件数目

    File Activity:基于文件的变更报告,包括变更的文件列表及每个文件的变更次数。

  要生成项目的变更报告,需要配置正确的SCM信息后,在配置插件即可。

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-changelog-plugin</artifactId>
            <version>2.2</version>
          <configiuration>
         <type>range</type>
         <range>60</range>
       </configuration>
     </plugin> </plugins> </reporting>
原文地址:https://www.cnblogs.com/forerver-elf/p/6266087.html