如何在JavaDoc中包含@Annotations?

时间:2013-12-03 15:20:50

标签: java annotations javadoc

我想在JavaDoc中记录类和方法的一些属性,并能够在运行时加载这些信息。因此,我认为编写自定义注释并使用此注释注释所有必需的文件和方法可能会很方便。使用此注释,我可以在运行时加载这些信息。

这是一个假设的代码片段,用于演示我的用例:

public class ImportantClass {
  @DetailedDescription(description="originated from data source XYZ")
  public void importantMethod() {
    // snip
  }
}

字符串"originated from data source XYZ"应该显示在JavaDoc中,并且可以通过反射或类似的东西读取。我的问题是JavaDoc不包含注释信息。

是否可以配置JavaDoc任务(最好使用Maven)来包含注释信息?

澄清:我对doclets(~javadoc注释)不感兴趣,因为它们在运行时不可读。

3 个答案:

答案 0 :(得分:9)

我终于找到了一个没有重复的好解决方案。在注释界面(本例中为@Documented)上使用DetailedDescription注释,并在JavaDoc中记录此注释的所有实例。 看到这个问题:

Is there a way to get the javadoc tool to document annotations?

答案 1 :(得分:3)

这是一个评论而非答案,但它很长,所以我需要这种格式

为什么要为此注释? Oracle documentation表示对于这种用法,您应该同时使用javadoc标记和注释。从我提供的链接:

  

如果您需要同时影响程序语义和文档,则可能需要注释和标记。例如,我们的指南现在建议使用@Deprecated注释来警告编译器警告,并使用@deprecated标记来注释文本

答案 2 :(得分:-1)

使用javadocs,它提供了您想要实现的目标。 注释在代码级别提供元数据,并且可以在应用程序的行为中发挥作用。不应该用于文档。