【问题标题】:Why might javadoc be failing to generate a page for a particular class?为什么 javadoc 无法为特定类生成页面?
【发布时间】:2018-04-19 02:45:32
【问题描述】:

我有一个项目,其中包含一些包和类。

当针对项目运行 javadoc 时(使用 Apache ant 的任务),我相信每个类都被记录在案除了我碰巧正在工作的那个,现在。

该类未出现在“所有类”框架中。该类不会出现在任何一个“包”框架中。磁盘上没有与类同名的文件(当然所有其他类都有)。

我检查过的一些事情:

  1. 正在记录同一包中的其他类,因此该类不会因其包而被“排除”。

  2. 类是public,所以它没有因为可见性问题而被隐藏。

  3. 源文件实际上在类级别以及一些构造函数和成员方法中包含正确的/** javadoc 样式的 cmets。

  4. 在运行javadoc -verbose 时,我可以看到正在加载源文件: [javadoc] [parsing started RegularFileObject[/full/path/to/Source.java]] [javadoc] [parsing completed 6ms]

  5. 没有为这个类发出错误(其他源文件有警告和错误,但不是这个)。

  6. 我没有用完磁盘空间。

关于如何从javadoc 获取更多信息或了解为什么此类可能会被忽略的任何想法?

【问题讨论】:

    标签: javadoc


    【解决方案1】:

    事实证明,这是一个愚蠢错误之上的愚蠢错误。

    真正的问题是我向 javadoc 传递了一个无效参数,由于我使用了 Apache Ant,这个参数有点隐藏:

    javadoc -source '${src.spec}' ...
    

    我的基于 ant 的构建脚本将无效的 -source 值添加到命令行。 Javadoc 正在经历这些动作,但实际上并没有生成任何文件。也不会为此发出任何错误。 :(

    第二个问题是我在构建脚本中的clean 目标没有删除旧的javadoc 文件,因此运行ant clean javadoc 并没有改变磁盘上的任何内容。重新加载“生成的”javadoc 实际上只是浏览很久以前生成的 API 文档。我的新班级没有参加那次比赛,所以没有出现。

    修复 javadoc 的 -source 参数让事情再次正常工作。

    【讨论】:

      【解决方案2】:

      抱歉,我没有足够的声誉来发表评论。您是否尝试过使用 Netbeans 的“分析 javadoc”功能?它贯穿整个项目并向您显示可能出现问题的地方,甚至还建议修复。可以在

      找到

      工具 >> 分析 javadoc

      当您选择了一个项目时。

      编辑

      类中是否有任何没有为 javadoc 注释的公共方法?如果没有,那么它可能无法识别需要将类添加到文档中,因为那里什么都没有。

      【讨论】:

      • 我无权访问 NetBeans atm。我确实有未记录的公共方法,但这似乎并不能阻止其他类被 javadoc'd。
      • 类中是否至少有 1 个记录在案的“事物”,无论是方法还是变量?
      • 请参阅我原来的问题中的第 3 项。
      猜你喜欢
      • 2013-03-14
      • 2010-12-23
      • 2018-10-21
      • 2012-10-18
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2015-07-26
      相关资源
      最近更新 更多