Java Language
モジュール
サーチ…
構文
- java.xmlが必要です。
- public java.xmlが必要です。 #使用するためにモジュールを扶養者に公開する
- export com.example.foo; #扶養家族はこのパッケージでパブリックタイプを使用できます
- com.example.foo.implをcom.example.barにエクスポートします。 #モジュールへの使用を制限する
備考
モジュールの使用は推奨されていますが、必須ではありません。これにより、既存のコードをJava 9で引き続き使用できます。また、モジュール式コードへの段階的移行も可能です。
非モジュール化されたコードは、コンパイル時に無名のモジュールに入れられます。これは、他のすべてのモジュールのタイプを使用できる特別なモジュールですが、 exports
宣言を持つパッケージからのみ使用できます 。
名前のないモジュールのすべてのパッケージは自動的にエクスポートされます。
キーワード( module
など)は、モジュール宣言内での使用が制限されていますが、引き続き別の場所で識別子として使用できます。
基本モジュールの定義
モジュールはmodule-info.java
という名前のファイルに定義され、モジュール記述子と呼ばれます。ソースコードのルートに配置する必要があります。
|-- module-info.java
|-- com
|-- example
|-- foo
|-- Foo.java
|-- bar
|-- Bar.java
ここには単純なモジュール記述子があります:
module com.example {
requires java.httpclient;
exports com.example.foo;
}
モジュール名は一意でなければなりません。また、パッケージで使用されているのと同じReverse-DNS命名表記を使用することをお勧めします。
Javaの基本クラスを含むモジュールのjava.base
、どのモジュールでも暗黙的に参照可能であり、インクルードする必要はありません。
requires
宣言モジュールの例では、私たちが他のモジュールを使用することができjava.httpclient
インポートされます。
モジュールは、どのパッケージをexports
するかを指定することもできます。そのため、他のモジュールにも表示されます。
exports
節で宣言されたパッケージcom.example.foo
は、他のモジュールから見えます。 com.example.foo
サブパッケージはエクスポートされません。独自のexport
宣言が必要です。
逆に、 exports
節にリストされていないcom.example.bar
は他のモジュールには表示されません。