使用注释指定应该生成javadoc的类/接口?

使用注释指定应该生成javadoc的类/接口?,java,javadoc,annotations,Java,Javadoc,Annotations,我有一个java程序,想为类/接口生成javadoc。但是,我只想为特定的类和接口生成javadoc。我只是想知道是否有任何方法可以在每个类/接口的开头添加注释,以指示该类/接口不应生成javadoc(类似于@no generate javadoc) 请问有人有什么想法吗 谢谢编写您自己的doclet非常简单,它将为您提供您想要的东西。您仍然可以委托给标准doclet,因此您的实现只需要包含特定的更改 这将是一个很好的起点。它从文件中读取排除的类。通过调用ClassDoc(实际上它是基类Prog

我有一个java程序,想为类/接口生成javadoc。但是,我只想为特定的类和接口生成javadoc。我只是想知道是否有任何方法可以在每个类/接口的开头添加注释,以指示该类/接口不应生成javadoc(类似于@no generate javadoc)

请问有人有什么想法吗


谢谢

编写您自己的doclet非常简单,它将为您提供您想要的东西。您仍然可以委托给标准doclet,因此您的实现只需要包含特定的更改


这将是一个很好的起点。它从文件中读取排除的类。通过调用
ClassDoc
(实际上它是基类ProgramElementDoc)上的annotations()方法获取注释排除,然后根据所需的排除注释检查这些注释。如果需要,您也可以对超类和实现的接口递归地执行此操作,

编写自己的doclet非常简单,并且会提供您想要的内容。您仍然可以委托给标准doclet,因此您的实现只需要包含特定的更改


这将是一个很好的起点。它从文件中读取排除的类。通过调用
ClassDoc
(实际上它是基类ProgramElementDoc)上的annotations()方法获取注释排除,然后根据所需的排除注释检查这些注释。如果需要,您也可以对超类和实现的接口递归执行此操作,

感谢您提到我们的工具-

顺便说一下,仅仅排除类和成员并不是全部生成的JavaDoc在这之后必须保持一致。

例如,假设我们有以下情况:

  • C1
    扩展类
    C2
  • C2
    扩展类
    C3
  • C3
    包含一个公共方法
    m()
    ——应该对其进行文档化
现在,让我们假设类
C3
必须从文档中排除。 方法
m()
会发生什么? 它应该显示在类
C2
中声明的文档中! 然后,对于类
C1
m()
必须显示为继承自类
C2
(而不是从类
C3
,因为它实际上在代码中)

同样的情况也存在于字段中,这实际上更加复杂,因为相同名称的字段不会过载,而是相互遮挡。比如说

  • C1
    扩展类
    C2
  • C2
    实现接口
    I
  • C2
    包含一个私有字段
    F
  • 接口
    I
    包含一个公共字段
    F
    ——可能需要记录
让我们假设接口
I
必须从文档中排除。 如何处理字段
I.F
? 事实上,没什么!它不应该出现在文档中,因为它被
C2.F
隐藏,它是私有的,因此必须是不可见的

标准Doclet的简单调整(授权)是否解决了此类问题?


我们的工具可以

感谢您提及我们的工具-

顺便说一下,仅仅排除类和成员并不是全部生成的JavaDoc在这之后必须保持一致。

例如,假设我们有以下情况:

  • C1
    扩展类
    C2
  • C2
    扩展类
    C3
  • C3
    包含一个公共方法
    m()
    ——应该对其进行文档化
现在,让我们假设类
C3
必须从文档中排除。 方法
m()
会发生什么? 它应该显示在类
C2
中声明的文档中! 然后,对于类
C1
m()
必须显示为继承自类
C2
(而不是从类
C3
,因为它实际上在代码中)

同样的情况也存在于字段中,这实际上更加复杂,因为相同名称的字段不会过载,而是相互遮挡。比如说

  • C1
    扩展类
    C2
  • C2
    实现接口
    I
  • C2
    包含一个私有字段
    F
  • 接口
    I
    包含一个公共字段
    F
    ——可能需要记录
让我们假设接口
I
必须从文档中排除。 如何处理字段
I.F
? 事实上,没什么!它不应该出现在文档中,因为它被
C2.F
隐藏,它是私有的,因此必须是不可见的

标准Doclet的简单调整(授权)是否解决了此类问题?


我们的工具可以

我还没有试过,但这个产品有灵活的排除,并允许基于注释排除类。看,我还没有尝试过,但是这个产品有灵活的排除功能,允许基于注释排除类。看见