在pom.xml的<reporting>中配置报告插件并执行mvn site可生成完整文档站点;需配合mvn clean test确保JaCoCo和Surefire数据就绪,且各插件必须置于<reporting><plugins>下而非<build>中。

直接在 pom.xml 的 <reporting> 区域配置报告插件,再执行 mvn site 即可生成含构建报告的完整文档站点。关键不是只配 maven-site-plugin,而是让它能调用各类报告插件并读取前置产物(比如测试结果、覆盖率数据)。
必须放在 <reporting> 下配置报告插件
Site 插件本身不生成具体报告,它只是“聚合器”。真实内容由其他报告插件提供,而这些插件必须声明在 <reporting><plugins> 中,不能写在 <build><plugins> 里(那是构建阶段用的)。
-
maven-project-info-reports-plugin:输出项目基本信息、依赖树、许可证、团队成员等 -
maven-javadoc-plugin:生成 API 文档(要求源码有标准 Javadoc 注释) -
maven-surefire-report-plugin:汇总src/test下的单元测试执行结果 -
jacoco-maven-plugin:展示行/分支覆盖率(需先运行测试生成target/jacoco.exec) -
spotbugs-maven-plugin:替代已停更的 FindBugs,做静态缺陷扫描
JaCoCo 和 Surefire 需要前置测试执行
覆盖率和测试报告依赖实际运行结果。如果跳过测试直接 mvn site,这两项会为空或报错。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 推荐执行顺序:
mvn clean test site—— 一次性完成编译、测试、采集数据、生成报告 - 或者分步:
mvn clean test(生成target/surefire-reports/和target/jacoco.exec),再mvn site - 注意:
jacoco-maven-plugin必须在<build><plugins>中配置prepare-agent或report执行绑定,否则site阶段读不到数据
自定义站点结构与外观
生成的 HTML 站点默认结构较基础,可通过以下方式增强可读性与专业性:
- 创建
src/site/site.xml,用<body><menu>添加导航菜单(如“设计说明”“接口约定”) - 在
site.xml中指定<skin>,例如使用org.apache.maven.skins:maven-stylus-skin并覆盖 CSS - 把项目说明写成 Markdown(
src/site/markdown/index.md),Doxia 引擎会自动转为 HTML - 确保
pom.xml中填写了<description>、<developers>、<licenses>等字段,它们会自动出现在首页
验证与查看生成结果
执行成功后,所有报告都输出到 target/site/ 目录:
- 打开
target/site/index.html查看总览页 - 各报告子页路径示例:
target/site/project-info.html(依赖列表)、target/site/apidocs/(Javadoc)、target/site/cobertura/(旧版覆盖率)或target/site/jacoco/ - 若某报告缺失,先检查对应插件是否在
<reporting>中,再确认前置步骤(如测试是否真运行了)

















