Java 9 模組中的模組描述符的重要性?


一個**模組**是以**包**的形式組織的程式碼集合,以及靜態資源,例如**屬性檔案**或其他檔案。它向外部環境提供使用該模組所需的所有資訊。**模組描述符**是**模組**系統的一個關鍵組成部分,它是名為“**module-info.java**”的檔案中指定的模組宣告的編譯版本,該檔案位於模組目錄層次結構的根目錄下。

模組透過以下模組宣告來描述自身

module com.myproject.module1 {
   requires com.myproject.module2;
   exports com.myproject.project1;
   exports com.myproject.project2;
}

以下是描述的一些模組描述符

  • **module 模組名:**宣告一個名為模組名的模組。
  • **requires 模組名:**指定我們的模組依賴於模組名,允許此模組訪問目標模組中匯出的公共型別。
  • **requires transitive 模組名:**任何依賴於此模組的模組都會自動依賴於模組名。
  • **exports 包名:**它表示我們的模組為每個需要此模組的模組匯出包名中的公共成員。
  • **exports 包名 to 模組名:**與上面相同,但限制了哪些模組可以使用包名中的公共成員。
  • **uses 類名:**它使當前模組成為類名的服務使用者。
  • **provides 類名 with 類名.實現:**它將類名.實現類註冊為提供類名服務實現的服務。
  • **opens 包名:**它允許其他模組使用反射來訪問包名中的私有成員。
  • **opens 包名 to 模組名:**它執行相同的操作,但限制了哪些模組可以對包名中的私有成員進行反射訪問。

更新於: 2020年3月26日

656 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告