在使用NetBeans的Maven项目中,无法为@author值生成JavaDoc。

4
在NetBeans中,当我尝试为一个Maven项目生成JavaDocs时,出现了以下错误。
Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:javadoc 
(default-cli) on project Heur: An error has occurred in JavaDocs report generation:
Exit code: 1 - C:\Users\Admin\JavaProjects\Heur\src\main\java\com\heur\App.java:27: 
error: malformed HTML
* @author MyName <myemail @ gmail.com>

我不理解这个错误,在我的认知中@author标签是正确的。为了完整起见,在这里报告一下:

/**
 *
 * @author MyName <myemail @ gmail.com>
 * @version 1.0.0
 * @since 4-apr-2014
 */
1个回答

9

你需要像这样转义<@>

{@literal <}myemail {@literal @} gmail.com{@literal >}

<>替换为()可能会更清晰,这样你就可以得到:

(myemail {@literal @} gmail.com)

编辑:

或者按照您的建议,只需使用literal标记将该批次标记为文字即可。

{@literal (myemail @ gmail.com)}

此时此刻,为什么不写“{@literal myemail@gmail.com}”呢? - mat_boy
@mat_boy 是的,那样会更好,我太专注于需要转义的字符了,不过我仍然会去掉 <> - Nick Holt
你能解释一下为什么通常在代码中进行注释时不需要加上{@literal .... }标记吗? - mat_boy
@mat_boy JavaDoc注释被解析以生成HTML,解析器正在寻找指示后跟特殊值的@标记,但在您的原始示例中,@ gmail.com不是有效表达式,因此必须进行转义。 - Nick Holt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接