3

最近,我一直在研究 Apache Forrest 作为代码文档解决方案。从 Apache 的网站,

“Apache Forrest™ 软件是一个发布框架,它将来自各种来源的输入转换为一种或多种输出格式的统一表示。Apache Forrest 的模块化和可扩展插件架构基于 Apache Cocoon 和分离表示的相关行业标准来自内容。Forrest 可以生成静态文档,或用作动态服务器,或通过其自动化设施进行部署。”

我想知道是否可以使用 Apache Forrest 作为一种方式来组织和发布一些带有 JavaDoc 注释的 Java 代码的文档。我知道 JavaDoc 可以自己完成,但我觉得 Apache Forrest 提供了一些额外的自定义。我在 Apache 网站上找到了有关如何将其包含在 Maven 中的说明,但它似乎是针对 Maven 1.x 量身定制的,我使用 Maven 2。这样的事情可能吗?如果是这样,集成它的最佳方法是什么?

提前谢谢。

4

1 回答 1

6

Documenting Projects with Apache Forrest中,作者写了关于Forrest Alternatives的文章:

如果您熟悉 Maven,您可能想知道为什么有人会打扰 Forrest。Maven 做了 Forrest 所做的一切,甚至更多:完全自动化您的构建、附加 JUnit 和 CVS 报告以及在基本文档之上的各种其他有用信息。它甚至提供了将新生成的网站自动安装到远程主机上的目标。

我在许多项目中使用过 Maven,这是一个令人印象深刻的包。对于基本使用而言,学习曲线并不比 Forrest 差多少,而且由于使用 Maven 就不必学习 Ant,因此从头开始设置项目可以说甚至更少。不过,作为一个整体的 Forrest 并不那么复杂,而且如果您不需要 Maven 提供的所有东西,您可能希望从 Forrest 开始,然后在需要时迁移到 Maven。如果您有一个基于 Ant 的现有大型构建系统,Forrest 也会更好:它允许您逐步添加 Maven 样式的网站生成,而不是重写所有构建脚本来 Maven 化项目。

就纯文档替代方案而言,另一个有很多开源社区支持的可靠选择是 DocBook。您可以使用 DocBook 编写 747 的手册:它是用于技术写作的终极 SGML(或 XML;有两个版本)方言。XML 变体有一组来自 Norman Walsh 的漂亮样式表,可以从 DocBook 源代码生成 HTML、PDF、RTF (Microsoft Word) 和其他格式。我认为 Forrest 的 XML 方言涵盖了 80% 的案例,学习曲线要​​小得多,但是对于还需要生成打印文档的大型项目,DocBook 值得考虑。请注意,如果您想从 DocBook 迁移,Forrest 也支持渲染 DocBook/XML 的一个子集,但它并没有得到很好的支持。

所以,既然您已经在使用 Maven,我真的很想知道您为什么会关注 Forrest。如果您对 Maven 的潜力仍有疑问,请查看Maven Doxia 。

如果你想使用 DocBook 并且如果通过 Doxia 对 Maven 的原生支持太有限,可以使用Docbkx Maven 插件(优于Maven Docbook 插件)。

于 2009-09-21T23:02:51.643 回答