サーチ…


構文

  • 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は他のモジュールには表示されません。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow