我知道以前有人问过这个问题,但那里的答案只适用于较旧的 JVM;我在 8. 我有一个这样的 javadoc:

 * <pre>
 * {@code
 *
 * import javax.ws.rs.Path;
 *
 * import com.ziath.handheldserver.scripts.AbstractHandheldScript;
 * import com.ziath.handheldserver.scripts.valueobjects.ScriptStatus;
 * import com.ziath.handheldserver.scripts.valueobjects.WidgetList;
 *
 * import org.slf4j.Logger;
 * import org.slf4j.LoggerFactory;
 *
 * @Path("myBasicScript")

我需要转义“@”符号;我尝试了以下方法:
  • 用 html 表示替换@,使@Override 变成@Override。这只是在 jdocs
  • 中打印 @Override
  • 将@Override 替换为{@literal @}Override。现在在 javadoc 中打印 {@literal @}Override。
  • 将@Override 替换为@literal @Override;这不会转义 @ 符号并且 javadocs 停止解析。

    有谁知道如何用 JDK 8 做到这一点?我很惊讶这有多困难!
  • 最佳答案

    我在JDK中寻找带有@符号的代码示例。 @SafeVarargs 注释有那个。它的 source code 不使用 <code> 块,而是使用 <blockquote><pre> 块。

    /**
     * <blockquote><pre>
     * import javax.ws.rs.Path;
     *
     * import com.ziath.handheldserver.scripts.AbstractHandheldScript;
     * import com.ziath.handheldserver.scripts.valueobjects.ScriptStatus;
     * import com.ziath.handheldserver.scripts.valueobjects.WidgetList;
     *
     * import org.slf4j.Logger;
     * import org.slf4j.LoggerFactory;
     *
     * &#064;Path("myBasicScript")
     * </pre></blockquote>
     */
    

    这在 Java 8 上对我有用,而且看起来相当不错。但是,我同意不使用 @code 有点奇怪。

    关于java - Javadoc中的转义@字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47738991/

    10-13 04:33