Javadoc如何处理Java9中模块的可见性?
Javadoc工具根据可访问性修饰符生成文档。默认情况下,它记录所有Javadoc如何处理Java9中模块的可见性?,java,javadoc,java-9,java-platform-module-system,java-module,Java,Javadoc,Java 9,Java Platform Module System,Java Module,Javadoc工具根据可访问性修饰符生成文档。默认情况下,它记录所有public和protected类、字段和方法。这可以通过以下方式进行更改: -公共 仅显示公共类和成员 -受保护的 仅显示受保护的和公共的类和成员。这是默认设置 -包装 仅显示包、受保护和公共类及成员 -私人 显示所有类和成员 Java9引入了模块的概念,而ProjectJigsaw将其应用于现有的JDK。Mark Reinhold(关于模块的系列讲座中的第三篇)介绍了public修饰符现在如何根据模块的可见性(通过导出)具有
public
和protected
类、字段和方法。这可以通过以下方式进行更改:
-公共仅显示公共类和成员 -受保护的
仅显示受保护的和公共的类和成员。这是默认设置 -包装
仅显示包、受保护和公共类及成员 -私人
显示所有类和成员 Java9引入了模块的概念,而ProjectJigsaw将其应用于现有的JDK。Mark Reinhold(关于模块的系列讲座中的第三篇)介绍了
public
修饰符现在如何根据模块的可见性(通过导出
)具有不同的可访问性级别:
- 公之于众
- 公共但仅限于特定模块
- 仅在模块内公开
public <module1, module2> static void getDefaultThing()
publicstaticvoid getDefaultThing()
?javadoc有新的选项,允许您选择在模块、包、类型和成员级别记录哪些项目。使用JDK 9的EA版本,查找新的
--module
,--show-*
选项和--expand requires
选项
现有选项-public
、-protected
、-package
、-private
已根据新的--show-*
选项重新定义,但其命令行帮助仍需更新
方便的dandy转换表是:
-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-*
选项。有趣的问题,尤其是因为javadoc的目的可能既面向内部(例如库/模块的开发人员),也面向公开(例如库/模块的用户)。@MarkRotteveel Yes。如果它只针对库/模块的用户,我认为只会显示“PublicforEveryone”,因为用户的模块在库编译时不可能被知道。不确定它对受保护的意味着什么。似乎javadoc以某种方式配备了一些模块文档(我没有尝试过任何一个)javadoc--help | grep模块
显示了一些选项。根据我对这些可能的命令的理解,有两种类型的文档-通常的和/或模块。我可能完全错了。。。这的确是一个很好的问题。如果产出会发生变化,它将如何变化?Javadoc中是否会记录不同级别的public
?