3

我必须从 javadocs 中排除一些类的公共方法。我尝试了 Chris Nokleberg 的 ExcludeDoclet (sixlegs)。但是 doclet 给出了一个小问题:如果类中的其他方法返回 List(或任何其他泛型),而不是在 javadoc 中显示为 List,返回类型只是显示为 List(没有泛型信息)

任何人都可以就如何解决此问题给出提示或提供解决方法吗?

4

1 回答 1

7

我假设您要从 javadoc 中排除的方法是您不希望客户使用的公共方法。换句话说,这些方法已弃用。您需要做的是使用 @Deprecated 注释。像这样:

@Deprecated public void badMethod() {
    ...
}

现在, badMethod() 已被弃用。如果有人在他的代码中使用 badMethod(),他会从编译器收到警告(他正在使用不推荐使用的方法)。

但是,@Deprecated 注释不会从 javadoc 中排除已弃用的方法。为了从 javadoc 中排除该方法,您需要执行以下操作: 当您生成 javadoc 时,使用nodeprecated javadoc cmd 行选项。-nodeprecated 选项可防止在文档中生成任何已弃用的 API。因此,如果您使用 @Deprecated 注释并使用 -nodeprecated 选项生成 javadoc,那么您的错误方法将不会出现在 javadoc 中。

但在我看来,你不应该从你的 javadoc 中排除不推荐使用的公共方法。如果它们出现在文档中并解释为什么不推荐使用该方法以及改用什么,那就更好了。

于 2011-01-27T12:39:21.723 回答