我正在使用BlueJ,我想生成整个项目的Javadoc。 我想在Javadoc上显示私有方法,有什么方法可以做到吗? BlueJ有一个生成Javadoc的工具,但BlueJ忽略了私有方法。 只是一个惯例?如果这是一个惯例,我不明白为什么,他们忽略“内部”方法,它们也很有用-.- *
答案 0 :(得分:5)
This link表明BlueJ只会为公共方法和类生成JavaDoc。 具体做法是:
您的输出将仅包含有关公共方法和变量的信息
但是,根据bug report中链接的Andrew Thompson's answer,似乎已在BlueJ的1.1.5版中修复了此问题。实际上,根据BlueJ Reference Manual的第9.8节,您可以通过编辑doctool.options
属性来指定完全运行JavaDoc工具时要使用的选项。
似乎有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
注意,此命令假定javadoc
包含在PATH环境变量中,这在大多数Java安装中通常都是这种情况。
-d
选项提供所需的输出目录-sourcepath
选项告诉JavaDoc工具在哪里找到要记录的源代码-private
选项告诉JavaDoc工具为所有类,成员和方法创建文档(因为私有是最受限制的可见性)控制JavaDoc将记录的成员的完整选项列表是:
-public
- 仅显示公共课程和成员。-protected
- 仅显示受保护的公共类和成员。这是默认设置。-package
- 仅显示包,受保护和公共类及成员。-private
- 显示所有课程和成员。编辑0: 更新了答案,以纳入Andrew Thompson
带来的新信息答案 1 :(得分:3)
一般来说,按照惯例,人们不会在Javadoc中放置私有方法,因为Javadoc应该用于消费代码的人。由于他们无法访问私人方法,因此将这些方法记录下来是没有意义的。
但是,javadoc工具有一个标志来启用它:
javadoc -private
将在您的Javadoc中生成私有方法。我不确定BlueJ如何使用它,但也许你可以传递旗帜或其他东西。
答案 2 :(得分:3)
接受的答案中的链接来自2001年写的一篇文章。从那时起,很多事情发生了变化。
E.G。通过前5个左右的“bluej + javadocs”链接进行搜索,包含指向allow inclusion of private methods in javadoc的错误报告的链接。描述提到:
使javadoc参数用户可定义(在bluej.defs中),以便用户必须选择在文档中包含私有方法
还提到:
Resolution: FIXED
注意:我不使用BlueJ,但是当我听到一个主要的IDE无法提供如此简单的配置的令人难以置信的答案时,我不得不继续寻找。