Maven Site插件可一键生成含项目信息、依赖、质量及覆盖率报告的综合性文档站点;需在pom.xml的<reporting>中配置报告插件,执行mvn clean test site生成target/site/下的HTML站点。

Maven Site 插件可以一键生成包含项目基本信息、依赖分析、代码质量、测试覆盖率等在内的综合性技术文档站点。关键在于正确配置 site 插件及其关联报告插件,并执行 mvn site 命令。
基础配置:启用 site 插件并指定报告插件
在 pom.xml 的 <reporting> 部分声明所需报告插件,而非 <plugins>(构建阶段)。例如:
-
maven-project-info-reports-plugin:提供项目概览、依赖列表、插件列表、许可证等基础报告 -
maven-javadoc-plugin:生成 JavaDoc 文档(需确保源码有标准注释) -
maven-surefire-report-plugin:汇总单元测试结果 -
findbugs-maven-plugin或spotbugs-maven-plugin:静态代码缺陷分析(SpotBugs 是 FindBugs 的继任者) -
jacoco-maven-plugin:配合mvn test生成测试覆盖率报告(需先执行测试)
注意:部分插件(如 JaCoCo)需在 <build><plugins> 中预先配置执行逻辑,才能在 site 阶段读取到覆盖率数据。
生成流程:先测试再生成,避免报告缺失
Site 报告依赖前置构建产物。典型执行顺序如下:
立即学习“Java免费学习笔记(深入)”;
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
-
mvn clean test—— 运行测试并生成 JaCoCo 执行数据(target/jacoco.exec) -
mvn site—— 触发所有报告插件,聚合生成 HTML 站点(默认输出到target/site/)
若跳过 test 直接 mvn site,JaCoCo 和 Surefire 报告将为空或报错。也可用 mvn clean test site 一次性完成。
自定义外观与导航:提升可读性
通过 src/site/site.xml 控制站点结构和菜单:
- 定义
<body><menu>添加自定义链接(如“设计文档”、“API 手册”) - 使用
<skin>指定外观(如org.apache.maven.skins:maven-stylus-skin),支持 CSS 定制 - 支持 Markdown 或 APT 格式编写项目说明页(放在
src/site/markdown/或src/site/apt/),自动渲染为 HTML
常见问题与应对
生成失败或报告不全时,优先检查以下几点:
- JDK 版本兼容性:高版本 JDK(如 17+)可能使旧版 Javadoc 插件报错,改用
<configuration><source>17</source></configuration>显式声明 - 编码问题:中文注释导致 Javadoc 乱码,添加
<encoding>UTF-8</encoding> - 内存不足:大型项目生成 Javadoc 时易 OOM,可在
MAVEN_OPTS中加大堆内存(如-Xmx2g) - 报告插件版本过旧:推荐使用最新稳定版(如 SpotBugs 4.x、JaCoCo 0.8.11+),避免与 Maven 3.8+ 不兼容
生成完成后,直接打开 target/site/index.html 即可浏览完整技术站点。

















