是否允许嵌套javadoc标签{@Code {@link}}?

时间:2011-11-21 06:25:12

标签: javadoc

我正在尝试在javadoc中的代码标记内放置一个链接。以下是我的尝试。

/**
* This method builds XML.
* <pre>
* {@code
* <Person {@link #companyId}='1234'/>
* }
* </pre>
**/

但是在生成的Javadoc中,链接不存在。字符串{@link #companyId}='1234'将按原样显示。

  • 是否允许嵌套javadoc标签?
  • 有没有办法在代码中添加链接?

2 个答案:

答案 0 :(得分:4)

这取决于标签。 {@code ...}标记按原样解释其内容,即避免将内容解释为Javadoc或HTML。它与{@link ... }标记的内容类似。

这是一种解决方法:

/**
 * This method builds XML.
 * <pre>
 * {@code <Person }{@link #companyId}{@code ='1234'/>}
 * </pre>
 **/

答案 1 :(得分:0)

至少在eclipse中,它可以使用以下任何一种,具体取决于您是否需要在链接之前或之后添加其他编码文本。

{@code {@link foo}
{@code {@link foo} {@code bar}
{@code baz}{@code {@link foo}
{@code baz}{@code {@link foo} {@code bar}

为了实现这一点,必须使用无与伦比的大括号和单独的@code注释。如果您不希望javadoc中的foobar之间有空格,则可以删除最后一个@code之前的空格,但不能对baz之间的空格执行此操作。 1}}和foo

eclipse使用的JavaDoc解析器成功地将其转换为具有代码格式的链接,因此它至少对于临时使用是好的。但是,这不是最佳实践,将来可能会更改,因此如果您编写的代码在一年后仍然存在,您应该使用Paulo的解决方案。