javadoc@hide can';行不通

javadoc@hide can';行不通,java,javadoc,Java,Javadoc,根据,我编写了以下代码: /** * @hide * */ public void myMethod() { // do something } 使用命令生成单据时: $ javadoc -locale en_US -encoding UTF-8 -charset UTF-8 -d doc xxx.java 文档仍然有myMethod项。那么如何隐藏myMethod?我遗漏了什么?您正在使用标记,但正在使用标准doclet生成API文档 构建Doclava Doclava附带了一

根据,我编写了以下代码:

/**
 * @hide
 * */
public void myMethod() {
    // do something
}
使用命令生成单据时:

$ javadoc -locale en_US -encoding UTF-8 -charset UTF-8 -d doc xxx.java
文档仍然有
myMethod
项。那么如何隐藏
myMethod
?我遗漏了什么?

您正在使用标记,但正在使用标准doclet生成API文档

构建Doclava

Doclava附带了一个ant脚本来构建doclet。“jar”任务将构建一个包含Doclava和所有必要依赖项的jar

将Doclava与Javadoc一起使用

要传递给Javadoc以使用Doclava的命令行参数是:
-doclet com.google.Doclava.Doclava-docletpath${jar.file}

据这位官员称,目前不可能直接隐藏公众成员

有时,您可能需要将类或方法公开,以便可以从其他包访问它,而不是因为您希望它成为公共API的一部分。让这些方法出现在文档中只会让应用程序开发人员感到困惑

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

有几个选项可供选择:

  • 排除源文件-您只能将所有要记录的类的源文件名传递到javadoc中,并排除那些要忽略的类。注意,它具有文件的粒度,而不是类的粒度。因此,如果排除包含嵌套类的源文件,它们也将被排除。(您可以将类列表放在命令行中,而不是直接放在命令行中。)在命令行上传递包名时,默认的Javadoc不提供忽略类的方法
  • 排除单个类-您可以使用。与前面的选项相比,该选项具有更细的粒度(类而不是源文件),并且使用起来更自然,因为您可以在文件中显式列出要排除的文件
  • 排除类、方法和字段-具有此功能,您可以在源代码中使用排除标记标记项。此外,欢迎任何人为方法和字段扩展上面的Exclude Doclet——我们很乐意发布它并将您的名字添加到信用卡中
我们正在考虑将@exclude作为排除成员的建议标记


另外,还可以查看
@exclude
@hide

中的更多信息,建议的javadoc页面在我看来是一个笑话。在排除方面,他们只是放弃并提供解决办法。我试过doclava和ydoc,但它们都没有满足我的要求:jdk 8、文档的第三方链接和文档的排除。这就是我的答案:如果你使用JDK9,一个定制的doclet可能值得一试。