我正在閱讀jdk.accessibility
的API文檔,並注意到它將所有這些分開列出。Java9中的出口,間接出口,需求和間接需求之間的區別?
一個模塊的範圍
requires
模塊都使用模塊的間接要求?的
module-info.java
的模塊如下:module jdk.accessibility { requires transitive java.desktop; exports com.sun.java.accessibility.util; }
和
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;
但隨後爲
jdk.accessibility
的文檔沒有提到sun.awt
作爲要求或間接要求或間接出口。這裏不一致的原因是什麼?
尋找這些差異的例子,可以幫助理解(2)中發生了什麼,以及我們如何使用Java9來適應模塊結構。
沒有提到作爲一個包是我的意思。 http://download.java.net/java/jdk9/docs/api/jdk.accessibility-summary.html – nullpointer
我已經用信息更新了答案,因爲我理解這個問題。如果模塊A「將sun.awt導出到B」,則B的客戶端無法看到「sun.awt」,即使B在A上「需要傳遞」。 –