为什么通过 ant 的 javadoc 不显示我方法的一些文档?

Why doesn't javadoc via ant show some of my method's doc?

我正在尝试通过 ant 为一个小型测试项目生成一些 javadoc,但我并不真正理解它的所有行为。似乎我的主要 class 中的很多方法都被遗漏了,我真的不明白为什么。

这是一个例子:

/**
 * Diese Methode deligiert die Ausfuehrung der zustandsabhaengigen Aktion an die entsprechende Methode
 * des Zustandsobjektes weiter, welches gerade in der Objektvariable zustand gespeichert ist.
 * @see SetMinutes
 * @see SetHours
 * @see DisplayTime
 */
 void inc(){
    zustand = zustand.inc(this);
 }

这个没有显示。我的蚂蚁目标看起来像这样:

<target name="doc" depends="generateJar">
    <javadoc destdir="${doc.dir}">
            <fileset dir="."/>
    </javadoc>
</target>

显示的唯一方法是主要方法(已记录)和 运行() 方法(空)。让我感到奇怪的是,我在项目的其他 classes 中的方法文档是正确生成的,我看不出有什么不同。 (我在生成字段摘要时也遇到了问题,但这可能是另一个问题的内容,不是吗?)

如有任何帮助,我们将不胜感激。

默认的 javadoc 命令行选项是 -protected,它只生成 publicprotected 方法。

要获取包私有方法(如 inc() 那样),您必须指定 -package-private

Oracle 文档:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#CHDCIFFD

已编辑:以适应 Stefan Bodewigs 的评论。

在 Jim Garrison 的提示下,我找到了如下解决方案(我还将总结一下已经说过的一切都在一个 post 中):

  • javadoc 的默认命令行选项是 -protected,它不会为私有和包私有字段和方法生成 javadoc
  • 如果有人希望通过 ant 自动执行此操作,我们可以使用 package="true"(或者 private="true" 如果有人希望也包含这些字段和方法)

示例:

<target name="doc" depends="generateJar"> <!--default option für javadoc ist -protected (siehe Web) daher fliegen im default package private methoden raus aus der doc-->
    <javadoc destdir="${doc.dir}" package="true">
            <fileset dir="."/>
    </javadoc>
</target>

将目录更改为包含您的 Java 代码的文件夹。 编译代码。 然后运行下面的命令。

javadoc -private -splitindex  <(compiledclassfilename)>.java