2

来自一个 C-guy 的问题,他必须使用一些通过 JNI 连接到我的 C 代码的 java 代码。

我必须在构建系统上工作,并且我正在尝试将其从 shell 脚本更改为正确的 makefile。对于 C 部分来说这很容易,但 java 方面不知何故涉及 xdoclet 的东西。

我还没有发现 xdoclet 的全部内容,我想了解这一切。

我做了我的谷歌研究,但我知道那东西是做什么的。对我来说,如果你已经熟悉这个问题并且你有 10 年的 Java 工作经验,你似乎只有机会了解官方文档。

您能否解释一下 xdoclet 的作用?

顺便说一句 - 我也提到了 C。我也喜欢面向对象的编程。无需向我解释类或继承的基础知识(如果需要了解 xdoclet)。


编辑:大约十年前,我问过这个问题是针对 IT 的。我仍然不知道 xdoclet 是什么,但这个问题获得了超过一千次的浏览量。我想看到一些 Java 人来插话,最后把事情弄清楚。

4

1 回答 1

5

XDoclet 的 10000 英尺视图是它是一个代码生成引擎。IMO,关于 XDoclet 的有趣之处在于它如何做它所做的,而不是它所做的。

有一个名为 javadoc 的工具,它在源代码注释中获取注释并使用它生成 html 文档。 这是javadoc 最初旨在生成的经典示例。为了支持不同的输出格式,javadoc 的作者使其可插入——您可以将“ doclet ”那个插件写到 javadoc 引擎中。这允许他们利用相同的源代码解析器,并发出不同的文档输出。

XDoclet 是一个聪明的 hack,它使用这个引擎来进行代码生成而不是文档生成。

一个使用示例是:开发人员手动编写一个包含业务逻辑的类,向 javadoc 添加一些 xdoclet 注释,然后 xdoclet 生成提供事务完整性的附加代码。

编辑: 正如埃里克森所指出的,Java 5 添加了对注释的支持,作为一种可以由编译器直接处理的语言特性。因此,XDoclet 过去提供的功能现在可以直接由 JDK 附带的注释处理工具 (apt) 执行。因为这个 XDoclet 现在通常被认为是过时的。

于 2009-01-19T22:50:37.527 回答