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

直接在 pom.xml 的 <reporting></reporting> 区域配置报告插件,再执行 mvn site 即可生成含构建报告的完整文档站点。关键不是只配 maven-site-plugin,而是让它能调用各类报告插件并读取前置产物(比如测试结果、覆盖率数据)。
必须放在 下配置报告插件
Site 插件本身不生成具体报告,它只是“聚合器”。真实内容由其他报告插件提供,而这些插件必须声明在 <reporting><plugins></plugins></reporting> 中,不能写在 <build><plugins></plugins></build> 里(那是构建阶段用的)。
-
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开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设...
- 推荐执行顺序:
mvn clean test site—— 一次性完成编译、测试、采集数据、生成报告 - 或者分步:
mvn clean test(生成target/surefire-reports/和target/jacoco.exec),再mvn site - 注意:
jacoco-maven-plugin必须在<build><plugins></plugins></build>中配置prepare-agent或report执行绑定,否则site阶段读不到数据
自定义站点结构与外观
生成的 HTML 站点默认结构较基础,可通过以下方式增强可读性与专业性:
- 创建
src/site/site.xml,用<menu></menu>添加导航菜单(如“设计说明”“接口约定”) - 在
site.xml中指定<skin></skin>,例如使用org.apache.maven.skins:maven-stylus-skin并覆盖 CSS - 把项目说明写成 Markdown(
src/site/markdown/index.md),Doxia 引擎会自动转为 HTML - 确保
pom.xml中填写了<description></description>、<developers></developers>、<licenses></licenses>等字段,它们会自动出现在首页
验证与查看生成结果
执行成功后,所有报告都输出到 target/site/ 目录:
- 打开
target/site/index.html查看总览页 - 各报告子页路径示例:
target/site/project-info.html(依赖列表)、target/site/apidocs/(Javadoc)、target/site/cobertura/(旧版覆盖率)或target/site/jacoco/ - 若某报告缺失,先检查对应插件是否在
<reporting></reporting>中,再确认前置步骤(如测试是否真运行了)










