定義基本模組

模組在名為 module-info.java 的檔案中定義,名為模組描述符。它應該放在原始碼根目錄中:

 |-- module-info.java
 |-- com
     |-- example
         |-- foo
             |-- Foo.java
         |-- bar
             |-- Bar.java

這是一個簡單的模組描述符:

module com.example {
    requires java.httpclient;
    exports com.example.foo;
}

模組名稱應該是唯一的,建議你使用與包使用的相同的反向 DNS 命名符號來幫助確保這一點。

模組 java.base 包含 Java 的基本類,對於任何模組都是隱式可見的,不需要包含它。

requires 宣告允許我們使用其他模組,在示例中匯入模組 java.httpclient

模組還可以指定 exports 包含哪些包,從而使其對其他模組可見。

exports 子句中宣告的包 com.example.foo 將對其他模組可見。com.example.foo 的任何子包都不會被匯出,他們需要自己的 export 宣告。

相反,exports 條款中未列出的 com.example.bar 將不會被其他模組看到。