Apache Maven Site Plugin详解

本文介绍Apache Maven Site Plugin的具体使用方法。

1.在Maven项目的pom.xml文件中的配置如下:

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.6</version>
	<configuration>
          ...
        </configuration>
        ...

在Apache Maven Site Plugin中,站点的生成是基于Velocity模板的,默认使用default-site.vm模板,可以在pom.xml中配置其他模板文件如下:

	<configuration>
          <templateFile>${basedir}/maven-site.vm</templateFile>
        </configuration>
通过templateFile属性给出模板的完整路径。

2.在Maven项目的源代码中编辑站点的内容

1)站点的内容在Maven项目中的位置src/site/
2)在Maven项目中的目录结构(index文件是必须的,其他都是可选的):
3)站点的内容默认可以采用的4种文档格式(也可以支持其他格式):
事实上,任何Doxia解析器能够处理的格式,都可以作为站点内容的格式。
补充:Doxia是一个内容生成框架,能够将多种标记格式的文档生成各种静态、动态内容。
详情参考其主页http://maven.apache.org/doxia/
4)源代码中的资源
在Maven项目中的位置src/site/resources/
在Maven项目中的目录结构:

5)源代码中的过滤器

即在执行mvn site:site时,要对站点的文件进行替换,以生成页面。默认使用Apache Velocity进行过滤。

对于要进行过滤的文件,重命名文件为*.vm
要替换的变量不要使用.分隔,否则可能无法识别。

6)源代码中的站点国际化
首先,配置pom.xml
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.6</version>
        <configuration>
          <locales>en,zh</locales>
        </configuration>

其次,添加本地化文件
3.生成目标代码中的站点内容 1)执行mvn site:site,默认将在target/site/目录下生成站点,默认XHTML形式(文件后缀为HTML) 2)执行mvn site:deploy部署到Web服务器。