在我的 Java Maven 项目中,我使用 Java 8 JDK (v1.8.0_112)、Maven 3 和 maven-javadoc-plugin v2.10.4。
我的代码如下(精简):
public class DummyData {
public static final String USE_CURSOR = "&useCursor";
// fields, constructor, methods omitted...
}
使用Maven目标生成类JavaDoc时,出现以下错误
1 error
[ERROR] MavenReportException: Error while generating Javadoc:
Exit code: 1 - javadoc: error - com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: java.lang.IllegalArgumentException: "&useCursor"
Command line was: "C:\Program Files\Java\jdk1.8.0_112\jre\..\bin\javadoc.exe" @options @packages
Refer to the generated Javadoc files in 'C:\Users\xan\git\Demo\demo\target\apidocs' dir.
org.apache.maven.reporting.MavenReportException:
Exit code: 1 - javadoc: error - com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: java.lang.IllegalArgumentException: "&useCursor"
你知道为什么会出现这个问题吗? 我最好的猜测是“&”字符,它使 JavaDoc 感到困惑,但不知道如何做替代方案(不更改常量)?
谢谢
最佳答案
搜索报告的错误,我发现了一些指向相同问题的结果。
Eclipse JavaDoc Generation fails with IllegalArgumentException?
Javadoc creation failes with IlegalArgumentExpection
根据这些帖子,这可能是 CLASSPATH
变量的问题。由于您使用的是 Eclipse,因此构建和生成 javadoc 不需要在 IDE 外部进行进一步配置。
建议的解决方案是清除 CLASSPATH 变量 (set classpath=
)。希望能帮助解决问题。
关于当 Java 8 JavaDoc 达到常量值时,生成失败并出现 IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44952282/