maven-site-plugin 插件的具体使用

 更新时间:2026年09月30日 10:14:45   作者:程序员食堂  
maven-site-plugin是 Maven 的一个核心插件,用于生成项目文档网站,本文就来详细的介绍一下如何使用,具有一定的参考价值,感兴趣的可以了解一下

maven-site-plugin 是 Maven 的一个核心插件,用于生成项目文档网站。以下是详细介绍:

主要功能

生成项目站点

  • 集成各种项目报告(Javadoc、测试报告、检查报告等)
  • 生成标准化的项目文档结构
  • 支持多模块项目的聚合站点

报告集成

  • Javadoc API 文档
  • 单元测试报告
  • 代码覆盖率报告(配合 jacoco 等)
  • 静态代码分析报告(Checkstyle、PMD、FindBugs)
  • 项目信息(依赖、许可证、团队等)

常用 Goals

Goal说明
site:site生成项目站点(HTML 文件输出到 target/site/)
site:stage将站点暂存到本地目录(用于多模块项目预览)
site:deploy将生成的站点部署到配置的服务器(需配置 <distributionManagement>)
site:run启动一个本地 HTTP 服务器预览站点(已弃用,建议用 mvn site + 本地打开 index.html)

注意:从 Maven Site Plugin 3.0+ 开始,site:run 已被移除。

基本配置

在 pom.xml 中配置

<project>
    <!-- 配置站点信息 -->
    <name>My Project</name>
    <description>项目描述</description>
    <url>https://example.com</url>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.12.1</version>  <!-- 使用最新版本 -->
            </plugin>
        </plugins>
    </build>
    
    <!-- 配置报告插件 -->
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.5.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
        </plugins>
    </reporting>
</project>

一键生成站点

mvn clean site

执行完后,静态站点位于 target/site/;用浏览器打开 target/site/index.html 即可查看。

常见增强项

中文站点 / UTF-8
在 <properties> 里加:

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

在插件<configuration>里加:

<locales>zh_CN</locales>

自定义输出目录

<configuration>
  <outputDirectory>${project.build.directory}/my-site</outputDirectory>
</configuration>

本地启服务实时预览

mvn site:run

会自动启动 Jetty,打开 http://localhost:8080 即可边改边看。

多模块项目

先生成整体站点,再一次性发布:

mvn site site:stage

site:stage 会把所有模块的页面聚合到 target/staging/ 目录,方便一次性拷贝到 nginx、Apache 或通过 site:deploy 上传到远程服务器。

与 AsciiDoc 集成(可选)

如果想用 .adoc 写文档,把文件放到 src/site/asciidoc/,然后在插件里增加依赖即可:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-site-plugin</artifactId>
  <version>3.12.1</version>
  <dependencies>
    <dependency>
      <groupId>org.asciidoctor</groupId>
      <artifactId>asciidoctor-maven-plugin</artifactId>
      <version>2.2.1</version>
    </dependency>
  </dependencies>
</plugin>

运行 mvn site 后会自动把 .adoc 渲染成 .html 并嵌入站点导航。

到此这篇关于maven-site-plugin 插件的具体使用的文章就介绍到这了,更多相关maven-site-plugin 使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Java中Duration类的使用方法

    详解Java中Duration类的使用方法

    Duration类通过秒和纳秒相结合来描述一个时间量,最高精度是纳秒。本文将通过示例详细为大家讲讲Duration类的使用,需要的可以参考一下
    2022-05-05
  • Java 负载均衡的 5 种算法实现原理

    Java 负载均衡的 5 种算法实现原理

    这篇文章主要介绍Java 负载均衡的 5 种算法实现原理,负载均衡能够平均分配客户请求到服 务器阵列,借此提供快速获取重要数据,解决大量并发访问服务问题,这种集群技术可以用最少的投资获得接近于大型主机的性能。下面就来看看文章的具体内容吧
    2021-10-10
  • 关于Hibernate的一些学习心得总结

    关于Hibernate的一些学习心得总结

    Hibernate是一个优秀的Java 持久化层解决方案,是当今主流的对象—关系映射(ORM)工具
    2013-07-07
  • Maven中jar包冲突原理与解决办法

    Maven中jar包冲突原理与解决办法

    这篇文章主要介绍了Maven中jar包冲突原理与解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • java selenium 操作弹出窗口示例代码

    java selenium 操作弹出窗口示例代码

    本文主要介绍java selenium 操作弹出窗口,这里实例讲解操作弹出窗口详细流程,并附示例代码,有需要的小伙伴可以参考下
    2016-08-08
  • java编译命令和启动命令的使用方式

    java编译命令和启动命令的使用方式

    Java开发中,编译源文件需使用javac命令,该命令能将.java文件编译成.class字节码文件,后者可在JVM上运行,常用编译选项包括-d指定输出目录,-classpath设置类搜索路径等,启动Java程序使用java命令,它加载并运行包含main方法的类
    2024-10-10
  • Java语言实现简单FTP软件 FTP协议分析(1)

    Java语言实现简单FTP软件 FTP协议分析(1)

    这篇文章主要介绍了Java语言实现简单FTP软件的第一篇,针对FTP协议进行分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • mybatis插入数据后如何返回新增数据的id值

    mybatis插入数据后如何返回新增数据的id值

    当往mysql数据库插入一条数据时,有时候需要知道刚插入的信息,下面这篇文章主要给大家介绍了关于mybatis插入数据后如何返回新增数据id值的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 使用Java Servlet生成动态二维码的实现步骤

    使用Java Servlet生成动态二维码的实现步骤

    在现代互联网时代,二维码广泛应用于各个领域,包括支付、认证、信息传递等,在Web开发中,通过Java Servlet生成动态二维码是一个常见的需求,本文将介绍如何使用Java Servlet结合Google的ZXing库生成动态二维码,需要的朋友可以参考下
    2023-11-11
  • 在springboot中使用p6spy方式

    在springboot中使用p6spy方式

    这篇文章主要介绍了在springboot中使用p6spy方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论