我有一个项目,里面有一些包和类。
当对项目运行javadoc
时(使用 Apache ant 的任务),我相信除了我现在碰巧正在处理的那个类之外,每个类都被记录下来了。
该类不会出现在"所有类"框架中。该类不会出现在任一"包"帧中。磁盘上没有与类同名的文件(当然所有其他类都有)。
我检查过的一些事情:
-
正在记录同一包中的其他类,因此该类不会因其包而被"排除"。
-
该类是
public
的,因此不会由于可见性问题而被隐藏。 -
源文件实际上在类级别以及某些构造函数和成员方法中包含正确的
/**
javadoc样式的注释。 -
运行
javadoc -verbose
时,我可以看到正在加载源文件:[javadoc] [parsing started RegularFileObject[/full/path/to/Source.java]] [javadoc] [parsing completed 6ms]
-
此类未发出任何错误(其他源文件有警告和错误,但此源文件没有)。
-
我没有用完磁盘空间。
关于如何从javadoc
获取更多信息或查看为什么可以忽略此类的任何想法?
事实证明,这是一个愚蠢的错误之上的错误。
真正的问题是我向javadoc传递了一个无效的参数,由于我使用了Apache Ant,这个参数有点隐藏:
javadoc -source '${src.spec}' ...
我的基于 ant 的构建脚本正在将该无效的-source
值添加到命令行。Javadoc正在经历这些动作,但实际上并没有生成任何文件。也不会为此发出任何错误。:(
第二个问题是我在构建脚本中的clean
目标是没有删除旧的javadoc文件,因此运行ant clean javadoc
不会改变磁盘上的任何内容。重新加载"生成的"javadoc实际上只是浏览很久以前生成的API文档。我的新班级不是那次跑步的一部分,所以它没有出现。
将-source
参数修复为 javadoc 可以让事情再次工作。
抱歉,我没有足够的声誉发表评论。您是否尝试过使用 Netbeans "分析 javadoc" 功能?它贯穿整个项目,并向您显示可能出错的地方,甚至还建议修复。可以在以下位置找到它
分析工具>> 分析javadoc
当您选择了项目时。
编辑
类中是否有任何未为 javadoc 注释的公共方法?如果不是,那么它可能无法识别需要将类添加到文档中,因为那里没有任何内容。