一個模組是以套件#和靜態資源(如屬性檔或其他)形式組織的類別的集合。它向外部環境提供了使用該模組所需的所有資訊。模組描述符是模組系統的關鍵來源,它是模組宣告的編譯版本,位於模組目錄層次結構的根目錄下的名為「module-info.java」的文件中。
模組透過以下模組宣告來描述自身
<strong>module com.myproject.module1 {
requires com.myproject.module2;
exports com.myproject.project1;
exports com.myproject.project2;
}</strong>
以下是一些模組描述符的描述:
-
module module. name: #宣告一個名為module.name的模組。
-
requires module. name: #指定我們的模組依賴module.name,允許該模組存取目標模組中導出的公共類型。
-
requires a transitive module. name: 任何依賴該模組的模組都會自動依賴module.name。
-
exports pkg.name: 它表示我們的模組為每個需要該模組的模組匯出了套件pkg.name中的公共成員。
-
exports pkg.name to module.name: 與上述相同,但限制了可以使用套件pkg.name中的公共成員的模組。
-
uses class. name: 它使目前模組成為服務class.name的消費者。
-
provides class.name with class.name.impl: 它註冊了一個實作class.name服務的class.name.impl類別作為服務。
-
opens pkg.name: 它允許其他模組使用反射來存取套件pkg.name中的私有成員。
-
opens pkg.name to module.name: 它與上述相同,但限制了哪些模組可以使用反射來存取pkg.name中的私有成員。
#
以上是在Java 9中,模組描述符在模組中的重要性是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!