Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javadoc Ant任务的结果中排除特定的方法/构造函数?_Java_Ant_Javadoc - Fatal编程技术网

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

如何从javadoc Ant任务的结果中排除特定的方法/构造函数?,java,ant,javadoc,Java,Ant,Javadoc,我正在使用javadocAnt任务生成的javadoc来记录一个web服务,我想从输出中排除一些构造函数。如何做到这一点?请参阅相关文档 目前没有Javadoc选项 隐藏、排除或禁止公开 从javadoc生成的 文件 在vanilla Javadoc中,这似乎是不可能的,但提供了一些解决方法。更改方法的方法访问级别,然后使用使用Javadoc任务的访问级别筛选属性、私有、包,等等。但是,只有在代码中有意义时才这样做,例如。,具有不适当的松散访问级别的方法 例如,对于构造函数,您可以将访问级别降低

我正在使用
javadoc
Ant任务生成的javadoc来记录一个web服务,我想从输出中排除一些构造函数。如何做到这一点?

请参阅相关文档

目前没有Javadoc选项 隐藏、排除或禁止公开 从javadoc生成的 文件


在vanilla Javadoc中,这似乎是不可能的,但提供了一些解决方法。

更改方法的方法访问级别,然后使用使用
Javadoc
任务的访问级别筛选属性、
私有
,等等。但是,只有在代码中有意义时才这样做,例如。,具有不适当的松散访问级别的方法


例如,对于构造函数,您可以将访问级别降低到
,然后在同一个包中创建一个工厂类,在包外部提供构造访问。工厂类可以很容易地从javadocs中过滤出来。有点黑,但它可以工作。

对于公共方法,没有办法做到这一点。标准实践(即使在相当多的JDK类中)是指出该方法或构造函数不是供公共使用的

有一个:

@排除-用于将API排除在 由Javadoc生成。程序员 将标记一个类、接口、, 构造函数、方法或具有 @排除。标签的存在会导致 要从生成的API中排除的API 文档标签后面的文本 可以解释被排除的原因, 但是会被Javadoc忽略。 (原提议为@hide,但 术语“隐藏”更适合于 运行时动态显示/隐藏 有关更多讨论,请参阅: 内显影剂 连接


尝试一下Chris Nokleberg的ExcludeDoclet:


我刚刚尝试过它,它似乎起到了作用。

不是从您的文档中排除了一些公共内容,只是“通过隐晦实现安全性”(或者更确切地说,“通过隐晦实现文档”)的一个变体?如果构造函数是代码API的一部分,则可以供他们使用。如果他们发现并使用它,那是他们的错吗(因为你一开始就公开了)

如果您可以更改构造函数的可见性或将其完全删除,我会这样做。如果无法从API中删除它,请在Javadoc中向构造函数说明它不打算通过web服务使用。这样,您就与API的用户建立了合同,通知他们不要使用API


最好记录不应该使用它,而不是完全不记录它(如果它是公共的)。不记录它会增加无意中使用它的风险,当您更改实现时,使用它的客户端代码会中断。

当前最简单的解决方案是使用
@deprecated
启动javadoc注释,然后将
-nodeprecated
传递给
javadoc
命令。当然,如果您有实际不推荐的项目,但仍希望将其包含在文档中,则这可能是不可接受的。

我得到的结论是使用的,它具有可以在方法文档中指定的@hide标记。

为了防止参数化类型没有得到很好的文档化,检查ExcludeDoclet的更正,这是2009/2014年的答案,2019年有更新吗?谢谢2019年怎么样?