本文介绍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文件是必须的,其他都是可选的):
- src/site/site.xml
- src/site/apt/index.apt
- src/site/fml/...fml
- src/site/markdown/...md
- src/site/xdoc/...xml
- src/site/xhtml/...xhtml
3) 站点的内容默认可以采用的4种文档格式(也可以支持其他格式):
- APT(Almost Plain Text),Wiki常用格式
- FML(FAQ Markup Language),FAQ格式
- XDoc,XDoc格式
- Markdown(从maven-site-plugin 3.3开始支持),轻量级的标记语言
事实上,任何Doxia解析器能够处理的格式,都可以作为站点内容的格式。
补充:Doxia是一个内容生成框架,能够将多种标记格式的文档生成各种静态、动态内容。
详情参考其主页http://maven.apache.org/doxia/
4) 站点源代码中的资源
在Maven项目中的位置src/site/resources/
在Maven项目中的目录结构:
- src/site/resources/css
- src/site/resources/images
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>
其次,添加本地化文件
- src/site/site_zh.xml
- src/site/zh/index.apt
3.生成目标代码中的站点内容
1) 执行mvn site:site,默认将在target/site/目录下生成站点,默认XHTML形式(文件后缀为HTML)
2) 执行mvn site:deploy部署到Web服务器