XDoclet 使自動生成部署描述符更為便利。XDoclet 是一個代碼生成實用程序,它允許您使用象 JavaDoc 標記之類的東西來向諸如類、方法和字段之類的語言特征添加元數據。隨后,它利用這些額外的元數據來生成諸如部署描述符和源代碼之類的相關文件。給這一概念起了一個名稱:面向屬性的編程(attribute-oriented programming)(不要與面向方面的編程(aspect-oriented programming)相混淆,這是另一個 AOP)。
XDoclet 通過解析源文件來生成這些相關文件,其解析方式類似于 JavaDoc 引擎解析源代碼以創建 JavaDoc 文檔。實際上,XDoclet 早期的版本是依賴于 JavaDoc 的。XDoclet 和 JavaDoc 一樣,不僅能夠訪問您以 JavaDoc 標記形式添加到代碼的那些額外的元數據,還能夠訪問源代碼的結構,即包、類、方法和字段。隨后,它將數據的這一層次結構樹應用到模板。它使用整棵樹及(您可以定義的)一些模板來生成支持文件,用別的方法生成的支持文件是單調的。本教程集中討論了如何使用 XDoclet 附帶的現有模板。
XDoclet 提供了一個 Ant 任務,它使您能夠創建 web.xml 文件、ejb-jar.xml 文件和更多其它文件。在本教程中,您將使用 XDoclet,用 webdoclet Ant 任務生成 Web 應用程序部署描述符。此外,您還將生成 EJB 支持文件。注:XDoclet Ant 任務并不與標準 Ant 分發版一起提供。您必須從 http://xdoclet.sourceforge.net 下載 XDoclet Ant 任務。
因此,您可能會問:“關我什么事?我是一名出色的 Java/J2EE Web 開發人員,我永遠也不需要 XDoclet。”您也可能會說:“我已經使用了 XDoclet,為什么要寫自己的模板呢?”正如我前面所表述的那樣,您不知道您缺什么。一旦您開始使用 XDoclet,您就會愛不釋手。一旦您開始編寫自己的模板,您就永遠不會做重復的工作。如果您正在編寫單調乏味的代碼,那么您大概會轉而使用 XDoclet。允許 XDoclet 生成單調的內容,堅持編寫好的內容。人類發明了計算機來讓它做那些枯燥無味的事情,而將自己解脫出來,去做有創造性的事情。XDoclet 將開發人員從單調無味的代碼中解脫出來。XDoclet 是您原先的 J2EE 和 Web 服務開發過程中缺少的那一部分。它可以加快您的開發速度。您必須掌握如何使用 XDoclet 模板。