次の問題に直面しています:
コンソール (Windows 7) で独自の美しいドックレットを実行しようとしています。
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: Why am I gets a ClassCastException when generated javadocs? )。解決策は、注釈付きのライブラリをクラスパスに追加することにあるように見えたので、次の行を実行しました。
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 を使用しています