我遇到了下一个问题:
我正在尝试在控制台(Windows 7)中运行我自己的漂亮 doclet:
javadoc com.mypackages.api -sourcepath ./src/main/java/
这让我遇到了一大堆例外:
java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl cannot be cast to com.sun.javadoc.AnnotationTypeDoc
at com.sun.tools.javadoc.AnnotationDescImpl.annotationType(AnnotationDescImpl.java:46)
at com.sun.tools.doclets.internal.toolkit.util.Util.isDeprecated(Util.java:811)
at com.sun.tools.doclets.formats.html.PackageWriterImpl.writeClassesSummary(PackageWriterImpl.java:114)
(总是一样的)。
然后,我在 StackOverflow 中发现有人说这是一个带注释的第三方库问题(StackOverFlow:为什么在生成 javadocs 时我得到一个 ClassCastException?)。解决方案看起来是将那些带有注释的库添加到类路径中,所以我运行了下一行:
javadoc com.mindmatics.mcashwebservice.remote.api -sourcepath ./src/main/java/ -docletpath ./all-libs/*.jar
我现在收到下一个错误:
javadoc: error - Illegal package name: "./all-libs/webservice-commons-1.0.2-SNAPSHOT.jar"
所有库都包含在 all-libs 目录中。谁能解释我做错了什么?非常感谢 :-)
PS:我使用的是 JDK 1.6