根据link,我写了以下代码:
/**
* @hide
* */
public void myMethod() {
// do something
}
当我使用命令生成doc:
时$ javadoc -locale en_US -encoding UTF-8 -charset UTF-8 -d doc xxx.java
该文档仍然包含myMethod
项。那么如何隐藏myMethod
?我错过了什么?
答案 0 :(得分:3)
您使用的是Doclava代码,但正在使用标准doclet生成API文档。
构建Doclava
Doclava source捆绑了一个用于构建doclet的ant脚本。 “jar”任务将构建一个包含Doclava和所有必需依赖项的jar。
将Doclava与Javadoc一起使用
传递给Javadoc以使用Doclava的命令行参数是:
-doclet com.google.doclava.Doclava -docletpath ${jar.file}
根据官方Javadoc FAQ,目前无法直接隐藏公众成员。
有时您可能需要公开一个类或方法,以便可以从其他包访问它,而不是因为您希望它成为公共API的一部分。将这些方法出现在文档中只会让应用程序开发人员感到困惑。
目前没有Javadoc选项可以从javadoc生成的文档中隐藏,排除或禁止公共成员。
有几种选择:
- 排除源文件 - 您只能将要记录的所有类的源文件名传递给javadoc,并排除要忽略的类。请注意,这具有文件的粒度,而不是类。因此,如果排除包含嵌套类的源文件,也会排除它们。 (您可以将类列表放在command line argument file中,而不是直接放在命令行上。)在命令行中传递包名时,默认的Javadoc无法省略类。
- 排除个别课程 - 您可以使用Exclude Doclet。这比前一个选项具有更精细的粒度(类而不是源文件),并且使用起来更自然,因为您在文件中明确列出了要排除的文件。
- 排除类,方法和字段 - yDoc Doclet具有此功能,您可以在源代码中使用排除标记标记项目。此外,欢迎任何人在上面的方法和字段中扩展Exclude Doclet - 我们很乐意发布它并将您的名字添加到学分中。
我们正在考虑将@exclude作为排除成员的建议标记。
另请查看Proposed Javadoc Tags page以获取有关@exclude
和@hide
的更多信息。