java - 有没有办法为公共(public)方法的子集生成 Javadoc?例如通过将公共(public)方法注释为 "not part of the public API"

标签 java api javadoc doclet

我知道如何为类/接口(interface)/包的子集生成 Javadoc。但是有没有办法只为公共(public)方法的一个子集生成 Javadoc?

我更喜欢能够将方法(Javadoc 标记或注释)标记为属于某个 API 或不属于它的一部分。然后有一个工具只为指定的一组方法生成 Javadoc - 那些构成 API 的方法。

在对方法的公共(public)/私有(private)/包访问之间进行选择对于我的项目来说是不够的。公共(public)方法可能属于或不属于公共(public) API,或者它可能属于 API 1,但不属于 API 2。本质上,我希望能够从我的公共(public)方法的任意子集中选择 API。

最佳答案

如果您使用的是 javadoc 命令行工具,您可以通过将它们标记为 Deprecated 并使用 -nodeprecated 来排除公共(public)方法选项。但是,如果您想要更复杂的东西,则必须自己实现。

关于如何做的粗略想法:

  1. 创建自定义注释@API1、@API2 等。
  2. 使用这些注释对您的方法进行分类(即标记它们)
  3. 编写一个自定义 Ant 任务,该任务读取一个配置参数(例如,从一个文件中),该参数告诉您要为哪个 API 生成 Javadoc。
  4. 仍在 Ant 任务中,循环遍历带注释的方法,并将所有不是所选 API 的 API 注释替换为 Deprecated 注释。这将从 Javadoc 中排除它们。

恕我直言,这很麻烦。正如他们在评论中所说,如果您有一个具有多个接口(interface)的类(我猜是针对不同的用户配置文件?),请考虑编写单独的接口(interface)。

关于java - 有没有办法为公共(public)方法的子集生成 Javadoc?例如通过将公共(public)方法注释为 "not part of the public API",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812349/

相关文章:

java - 在 Java 进度条中实现平滑过渡

ruby - 为什么 each_slice 不起作用?

eclipse - Eclipse 的 Hadoop 文档

eclipse - Eclipse javadoc 注释中的错误换行

api - 使用 Applescript 和 cURL 控制飞利浦 Hue 照明系统

javadoc - 如何告诉javadoc我的句号没有结束

java - 如何使用 OOP 打印 arrayList 中的最小值?

java - 如何从 Java 中的不同类访问数组列表?

java - 从通用模式面板(JSF、SEAM)调用并将参数传递给 Action 类的方法

java - OVH JAVA API 使用带参数的 Get 请求