java - 防止 Eclipse 将 <pre> javadoc 标记中的 @ 字符转换为 @

标签 java eclipse

我的一个包 ( package-info.java ) 有一条 Javadoc 注释,基本上如下所示:

/**
 * <pre>
 * {@code
 * // Some comments...
 * final Foo<Integer> foo = new Foo<>(0);
 * }
 * </pre>
 * 
 */
package com.holt.mypackage;

我还在项目属性中启用了保存操作以及格式化所有行。每次保存文件时,Eclipse 都会替换 {@code与:

* {
*   &#64;code

...完全破坏了我的 Javadoc。

我尝试使用<pre><code>手动,但 Maven javadoc 插件提示无效字符 <> HTML 中(由于 Foo<> )。如果我禁用保存操作,从 Eclipse 到 Maven 一切都会正常工作。

有没有办法告诉 Eclipse 不要替换这些字符?

最佳答案

按照规定here您必须“关闭‘pre’标签内的格式化Java代码片段设置”:

  1. Window > Preferences
  2. Java > Code Style > Formatter
  3. 如果您没有自定义配置文件,请点击 New...
  4. Edit...
  5. Comments > 取消选中格式化 Java 代码片段...

因此 Eclipse IDE 不会格式化 <pre> 的内容标签不再。

如果您仍然想从格式化中受益,我建议您使用 <code>标签。你只需要逃避 <>正确的字符如下所示:

/**
 * <pre>
 * <code>
 * // Some comments...
 * final Foo&lt;Integer&gt; foo = new Foo&lt;&gt;(0);
 * }
 * </code>
 * </pre> 
 *
 */
package com.holt.mypackage;

参见this SO answer .

关于java - 防止 Eclipse 将 <pre> javadoc 标记中的 @ 字符转换为 @,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58416715/

相关文章:

java - IntelliJ 中的heroku远程调试问题

java - 允许比较 `boolean` 和 `Object` 是否相等?

java - Weblogic10.3.5 eclipse服务器配置问题

java - Apache httpcomponents-client - CloseableHttpResponse 方法不起作用

java - 链接中的 HtmlUnit 和 JavaScript

android - 每次打开xml文件时eclipse从2.3加载数据到4.4

java - Android 打开 URL onclick 某个按钮

android - 我可以使用 Eclipse IDE for Java EE 开发 android 应用程序吗?

Java:检查字符串是否包含多个字符

java - 通过解码文件的编码字符串格式从数据库下载文件