Javadoc:来自第三方库的注释

时间:2011-03-15 16:25:35

标签: java classpath javadoc playframework

我正在尝试编写一个SVN Post-Commit挂钩,以便在有人提交相关文件的任何更改时在网页上生成javadoc。

我是钩子概念的新手,但我没想到在生成javadoc时会遇到任何奇怪的错误。

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.AbstractIndexWriter.printComment(AbstractIndexWriter.java:186)

在StackOverFlow上进行了几次成功搜索之后,我发现它与第三方注释有关。 (我使用Play框架并使用了许多其他库)

所以我在剧本中包含了所有内容:

#!/bin/sh

CLASSPATH="~/Play/play-1.1.1/;"

javadoc -d ~/svndoc/ -classpath $CLASSPATH -sourcepath ~/svntest/avon/trunk/ScoreDB/app @packages

但这会产生完全相同的错误。有时会有10个警告,但大部分时间都有27个警告。

你能帮助我吗?

提前致谢, 碧玉

1 个答案:

答案 0 :(得分:1)

您的类路径看起来不对。首先,它中应该没有;(在Unix中,分隔符是:,但最后不需要它)。其次,你真的在​​这个目录中有个别的类文件吗?如果有jar文件,你需要单独列出它们,或者在那里加*(但要注意bash不会扩展它,因为你需要:而不是空格。)< / p>

我不知道这是否可以解决问题。