Chapter 15. 站点生成

15.1. 简介

成功的软件应用程序很少是由单人团队开发的。在讨论任何一个值得我们写下一笔的软件的时候,这个软件背后通常有一个协作的开发者团队,它们大小不一,可能只是一个很少人组成的小型团队,也可能由一个大型分布式环境中数百数千的程序员组成。大部分开源项目(如Maven)成败的原因之一就是它们是否为广泛分布的潜在用户和开发者提供了良好的文档。软件开发主要还是一个协作与交互的实践活动,而发布一个Maven站点是确保你的项目能与最终用户良好沟通的有效手段。

一个开源项目的web站点通常是最终用户和开发人员交流的基础平台。最终用户浏览项目web站点以获得教程,用户指南,API文档,以及邮件列表存档。而开发者浏览项目的web站点获得设计文档,代码报告,问题跟踪(issue tracking),以及发布计划。大型的开源项目可能会和wiki,问题跟踪系统,以及持续集成系统相集成,用那些反映当前开发状态的材料来帮助增强在线文档。如果一个新的开源项目的web站点内容匮乏,不能为预期用户覆盖基本信息,那么这通常预示着这个项目有问题,不会被人采用。对于一个开源项目社区的形成,站点文档和代码本身一样重要。

Maven可被用来创建一个项目web站点,以收集所有与最终用户和开发者相关的信息。不做任何配置,Maven就能生成项目报告,包括单元测试失败,包耦合度,以及代码质量报告。Maven也能让你编写简单的web页面,并基于一致的项目模板呈现这些页面。Maven可以用多种格式发布站点内容,包括XHTMLPDF。Maven可以用来生成API文档,也可以在你项目的二进制发布包内嵌入Javadoc和源代码。在你使用Maven生成了所有最终用户和开发者文档之后,你可以使用Maven将站点发布到远程服务器上。