CSDN博客

img roshui

XDoclet 说明

发表于2004/7/7 9:48:00  1365人阅读

XDoclet 说明


XDoclet是一个扩展的Javadoc Doclet引擎。它是一种通用的java工具,可以让你创建自己的javadoc @tags进而利用XDoclet中的Templet enging基于这些@tags生成源代码或其他文件(例如xml的deployment descriptors)。XDoclet已经支持一些常见的任务了,例如生成web.xml和ejb-jar.xml等,用户可以创建其他templets和@tags,以增加对其他技术的支持

更宏伟的目标,是让你可以在基于组件的开发工程中可以实现“持续集成”(Continuous Integration)。要点是在你编写每一个组件代码的同时,指定它们的“原数据”(meta-data),也就是设定每个组件的配布属性(deployment meta-data)。你不必担心这些配布属性会过时,因为你可以接触代码,这些配布属性和代码同时被修改。这样就做到了持续集成,整个过程很自然的就是round-trip了。我们称之为“持续再配置”(Continuous Reconfiguation)。 XDoclet很适合成为Apache-Ant这样的build过程的一部分。

整个系统是可以扩展的。如果需要,你可以为你的特定任务写特别的templet(如支持新的App Server,为Toplink等定义OR Mapping schema, 甚至将servlet当作组件来使用)。XDoclet已经支持一些预先写好的Templet和@tags,例如为EJB关联的东西提供的,为自动生成web.xml提供的等等。

XDoclet基于以下几个部分:

  • Apache Ant Task: 就是这种任务的例子。在你的build.xml文件中,在编译代码的taget之前定义。
  • task的嵌套元素: 这是定义对于源代码需要执行的子任务的地方。例如。每一个子任务都可以单独配置。
  • Template文件: 子任务可以基于template文件生成输出。template可以是包含类似于 的xml元素的文本文件。Template文件类似于JSP文件,类似于JSP tags, 实际的实现位于子任务类中,一个基类定义了一些共通的tag
  • 特别的JavaDoc @tags: 通过使用特别的JavaDoc @tags, 给每个组件定义设定。例如在SimpleServlet.java中定义一个 @web:servlet name="The Simple Servlet",让 子任务知道SimpleServlet.java包含一个servlet的定义,这样就可以利用@web:servlet tag中的信息生成相应的web.xml描述。
  • The mege system: 为了避免过多的tags, XDoclet同时也可以使用一种merge system。例如,为了避免在EJBean源代码中写@jboss:table-name account,可以定义一个 jaws-db-setting-Accoutn.xml文件,这个文件包含实际的XML代码,可以被子任务合并到最终生成的jaws.xml文件中

实际的例子,可以参见sample code和sample build.xml文件

XDoclet是EJBDoclet的后继者,而EJBDoclet是由Rickard Oberg -- 世界上最好的程序员之一,开放源代码的先锋 -- 发起的项目,在这个项目的开发过程中,逐渐发现不仅仅可以用于EJB,于是开始了一个新的项目,一开始就以一个更宽广的应用作为目标。

You can download it from http://sourceforge.net/projects/xdoclet.

0 0

相关博文

我的热门文章

img
取 消
img