Javadoc如何处理Java 9中模块的可见性?
Javadoc工具基于可访问性修饰符生成文档。 默认情况下,它记录所有public
和protected
类,字段和方法。 可以使用以下选项更改此设置:
-上市
仅显示公共类和成员。-protected
仅显示受保护的公共类和成员。 这是默认值。-包
仅显示包,受保护和公共类和成员。-私人的
显示所有类和成员。
Java 9引入了模块的概念,项目Jigsaw将其应用于现有的JDK。 Mark Reinhold的演讲(关于模块的一系列讨论中的第三篇)展示了public
修饰符现在如何具有不同的可访问性级别,具体取决于模块的可见性(通过exports
):
- 公开给大家
- 公开但仅限于特定模块
- 仅在模块内公开
由于现在并非所有公共成员都可以访问,因此继续使用相同的Javadoc生成方案就没有多大意义了。 只有那些暴露在“足够”水平的成员才应该被记录下来。
Javadoc模块是否可识别? 除了上面的命令选项还有处理额外曝光层的命令选项吗? 对于仅暴露给特定模块的公共成员,Javadoc是否列出了这些,如
public static void getDefaultThing()
?
javadoc有新选项,允许您选择在模块,包,类型和成员级别记录哪些项目。 使用EA版本的JDK 9,查找新的--module
, – --show-*
选项和--expand-requires
选项。
现有的选项-public
, -protected
, -public
, -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-*
选项。
- Spring-Security:升级到Spring-Security 4.1后,用户名将被发送为空以进行登录
- Java做while循环使字符串测试行为不同
- 使用Java 8将String数组转换为int数组的最简单方法是什么?
- JOAuth,一个基于java的OAuth 1(最终)和OAuth 2(草案10)库。 我该如何使用它?
- 你如何强制java swt程序“将自己移到前台”?
- 为什么java源文件需要包声明?
- java中jsonobject的字符串
- 为什么字节b =(字节)0xFF等于整数-1?
- ClassCastException:org.apache.xerces.parsers.XIncludeAwareParserConfiguration无法强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration