web-dev-qa-db-ja.com

@と{記号を内部に含むJavadocのコードスニペットをフォーマットする方法

これは私がやろうとしていることです:

/**
 * <pre>
 * {@code
 * &#64;XmlRootElement
 * public final class Page &#123;
 * &#125;
 * }
 * </pre>
 */

私はそれが次のような形式であることを期待しています:

@XmlRootElement
public final class Page {
}

しかし、私は得ています:

&#64;XmlRootElement
public final class Page &#123;
&#125;

これらのHTMLエンティティを実際のシンボル(@{})は、javadoc警告と完全に誤ったフォーマットにつながります。回避策とは何ですか?

35
yegor256

これは私にとって最終的にどのように機能するかです:

/**
 * <pre>
 * &#64;XmlRootElement
 * public final class Page {
 * }
 * </pre>
 */
39
yegor256
<pre>
<code>
{@literal@}Override
public String toString() {
    return "blah";
}
</code>
</pre>

これでうまくいきます。

29
Patrick

コードスニペットを<pre><code></code></pre>でラップします。これらは、特殊文字のエスケープを忘れることができる特別なHTMLタグです。

7
AlexR

それは古い質問ですが、なぜそれが私にとってうまくいかなかったのかを理解しました。

これは機能していませんでした:

<pre>{@code 
@Autowired

しかし、すべてが1行で記述されている場合は機能します。

<pre>
{@code @Autowired
1