如何从javadoc Ant任务的结果中排除特定的方法/构造函数?

Kev*_*ong 16 java ant javadoc

我正在使用javadocAnt任务生成的javadoc 来记录Web服务,我想从输出中排除一些构造函数.我怎么做?

Uri*_*Uri 16

公共方法无法做到这一点.标准实践(即使在很多JDK类中)也表示方法或构造函数不适合公共使用.

有一个计划,以在将来添加一个标签@exclude:

@exclude - 用于从Javadoc生成中排除的API.程序员用@exclude标记类,接口,构造函数,方法或字段.标记的存在将导致API从生成的文档中排除.标记后面的文本可以解释排除的原因,但Javadoc会忽略它.(以前建议使用@hide,但术语"隐藏"更适合于运行时动态显示/隐藏功能.)有关更多讨论,请参阅: Developer Connection中的功能请求#4058216.

  • 这是2009/2014年的答案,2019年有更新吗?谢谢 (6认同)

Bri*_*new 8

请参阅相关的Javadoc FAQ条目.

目前没有Javadoc选项可以从javadoc生成的文档中隐藏,排除或禁止公共成员.

看起来这在香草 Javadoc中是不可能的,但提供了一些解决方法.

  • 2019年呢? (2认同)

Rob*_*ska 8

不是从文档中排除某些公开内容,只是对"通过默默无闻的安全性"(或者更确切地说,"通过默默无闻的文档")的变体进行排除?如果构造函数是代码API的一部分,那么它们可供他们使用.如果他们发现并使用它,那是他们的错吗(因为你首先将它公之于众)?

如果您可以更改构造函数的可见性或完全删除它,我会去那.如果您无法从API中删除它,请在Javadoc中为构造函数告知它不打算通过Web服务使用它.这样,您就与API用户建立了合同,通知他们不要使用它.

最好记录它不应该被使用而不是根本不记录它(如果它是公开的).不记录它会增加无意中使用它的风险,然后在更改实现时使用它的客户端代码会中断.