7

我正在使用 BlueJ,我想生成整个项目的 Javadoc。我想在 Javadoc 上显示私有方法,有什么办法吗?BlueJ 有一个制作 Javadoc 的工具,但 BlueJ 忽略了私有方法。只是一个约定吗?如果这是惯例,我不明白为什么,他们忽略了“内部”方法,它们也很有用-.-*

4

3 回答 3

6

此链接表明 BlueJ 只会为公共方法和类生成 JavaDocs。具体来说:

您的输出将仅包含有关公共方法和变量的信息

但是,根据Andrew Thompson 的回答中链接的这个错误报告,这似乎已在 BlueJ 的 1.1.5 版中得到修复。事实上,根据BlueJ Reference Manual的第 9.8 节,您可以通过编辑属性来准确指定运行 JavaDoc 工具时要使用的选项。doctool.options

似乎有 3 个属性控制文档生成的行为:

  • doctool.command: 控制用于生成文档的命令,默认设置为javadoc
  • doctool.outputdir: 控制生成文档的保存位置,默认设置为doc
  • doctool.options: 控制传递给指定命令的其他命令行选项javadoc.command,默认设置为-author –version –nodeprecated –package. 请注意,通过替换-package-private您可以记录所有方法。

一般来说,由于 JavaDoc 工具是一个命令行程序,您可以简单地从命令行自己调用它,如下所示:

$ javadoc -d \path\to\output\folder -sourcepath \path\to\source\folder -private

请注意,此命令假定javadocPATH 环境变量中包含 ,这在大多数 java 安装中通常是这种情况。

  • -d选项提供所需的输出目录
  • -sourcepath选项告诉 JavaDoc 工具在哪里可以找到要记录的源代码
  • -private选项告诉 JavaDoc 工具为所有类、成员和方法创建文档(因为私有是最受限制的可见性)

控制 JavaDoc 将记录的成员的完整选项列表是:

  • -public- 仅显示公共课程和成员。
  • -protected- 仅显示受保护的和公共的类和成员。这是默认设置。
  • -package- 仅显示包、受保护和公共类和成员。
  • -private- 显示所有类和成员。

(取自JavaDoc 文档

编辑 0:更新答案以纳入Andrew Thompson 揭示的新信息

于 2012-01-02T00:36:22.630 回答
3

通常按照惯例,人们不会将私有方法放在 Javadoc 中,因为 Javadoc 是为使用您的代码的人准备的。由于他们无法访问私有方法,因此为该受众记录它们是没有意义的。

但是,javadoc 工具有一个标志来启用它:

javadoc -private

将在您的 Javadoc 中生成私有方法。我不确定 BlueJ 是如何处理这个的,但也许你可以传入一个标志或其他东西。

于 2012-01-02T00:31:14.573 回答
3

已接受答案中的链接来自 2001 年撰写的一篇文章。从那时起发生了很多变化。

EG 搜索 'bluej+javadocs' 的前 5 个左右的链接包括一个链接,该链接提到了错误报告以允许在 javadoc 中包含私有方法。描述中提到:

使 javadoc 参数用户可定义(在 bluej.defs 中),以便用户必须选择在文档中包含私有方法

还提到:

Resolution:     FIXED 

注意:我不使用 BlueJ,但是当我听到令人难以置信的答案时,我不得不继续寻找主要 IDE 无法提供如此简单的配置的能力。

于 2012-01-02T01:36:09.413 回答