Nam*_*man 3 access-specifier java-9
我正在阅读API文档,jdk.accessibility并注意到它分别列出了所有这些.
requires 在一个模块中具有范围的模块都是消耗模块的间接需求?
该module-info.java模块如下:
module jdk.accessibility {
requires transitive java.desktop;
exports com.sun.java.accessibility.util;
}
Run Code Online (Sandbox Code Playgroud)
并且java.desktop是一样的东西(试图包括不同-
module java.desktop {
...
requires java.prefs;
...
requires transitive java.xml;
exports java.applet;
...
exports sun.awt to
javafx.swing,
jdk.accessibility,
oracle.desktop;
opens javax.swing.plaf.basic to jdk.jconsole;
...
uses javax.sound.sampled.spi.MixerProvider;
...
provides javax.sound.sampled.spi.MixerProvider with
com.sun.media.sound.DirectAudioDeviceProvider,
com.sun.media.sound.PortMixerProvider;
Run Code Online (Sandbox Code Playgroud)
但是,之后的文档jdk.accessibility没有提到sun.awt要求或间接要求或间接出口.这里出现不一致的原因是什么?
寻找可以帮助理解(2)中发生的事情的这些差异的示例,以及作为我们使用Java9适应模块结构的实践应该遵循的内容.
请注意:
module java.desktop {
...
...
exports sun.awt to
javafx.swing,
jdk.accessibility,
oracle.desktop;
}
Run Code Online (Sandbox Code Playgroud)
这sun.awt是一个包,而不是模块名称.(这是另一个例子.)因此sun.awt,正如java.desktop已经引用的那样,在文档中没有提到它是有道理的.
编辑:另请注意,对于jdk.accessibility模块的客户端,sun.awt无法访问该程序包.也就是说,它被导出java.desktop 供使用, jdk.accessibility但不会成为其API的一部分.我已经确认(这里的例子)即使jdk.accessibility需要java.desktopas 也是如此transitive.
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |