Javadoc工具基于辅助功能修饰符生成文档。默认情况下,它会记录所有public
和protected
类,字段和方法。可以使用以下options更改此内容:
-public
仅显示公共类和成员。- 保护
仅显示受保护的公共类和成员。这是默认值。-package
仅显示包,受保护和公共类和成员。- 私人
显示所有类和成员。
Java 9引入了模块的概念,项目Jigsaw将其应用于现有的JDK。 Mark Reinhold的talk(关于模块的一系列讨论中的第3个)显示了public
修饰符现在具有不同级别的可访问性,具体取决于模块的可见性(通过exports
) :
- 向所有人公开
- 公开但仅限于特定模块
- 仅在模块内公开
由于现在并非所有公共成员都可以访问,因此继续使用相同的Javadoc生成方案将没有多大意义。只有那些暴露出足够的"水平应记录在案。
Javadoc模块是否可识别?除了上面的命令选项还有处理额外曝光层的命令选项吗?对于仅暴露给特定模块的公共成员,Javadoc是否列出了这些模块,如
public <module1, module2> static void getDefaultThing()
答案 0 :(得分:14)
javadoc具有新选项,允许您选择在模块,包,类型和成员级别记录哪些项目。使用EA版JDK 9,查找新的--module
,--show-*
选项和--expand-requires
选项。
现有选项-public
,-protected
,-package
,-private
选项已根据新的--show-*
选项重新定义,尽管他们的命令行有帮助仍然需要更新。
方便的转换表是:
-public
--show-module-contents api --show-packages exported --show-types public --show-members public
-protected (the long-standing default)
--show-module-contents api --show-packages exported --show-types protected --show-members protected
-package
--show-module-contents all --show-packages all --show-types package --show-members package
-private
--show-module-contents all --show-packages all --show-types private --show-members private
通常,继续使用默认值为API用户生成文档,并使用-package
或-private
为API开发人员生成文档。要获得更精细的控制,请使用基础--show-*
选项。