您可以在支援 Gradle 的 IDE 中開啟此範例。

此範例展示如何建立包含 Java 模組的多專案。Java 模組是 Java 本身的一項功能,自 Java 9 起可用,可實現更好的封裝。

在 Gradle 中,每個包含 Java 原始碼的來源集都可以透過新增 module-info.java 檔案轉換為模組。通常,在像這樣的 Java 模組專案中,子專案的主要來源集代表一個模組。

src
└── main
    └── java
        └── module-info.java

module-info.java 檔案中,您可以使用關鍵字(例如 requiresrequires transitive)定義對其他模組的相依性。這些對應於在 Gradle 建置檔案中定義的 implementationapi 相依性。此外,模組會exports匯出應對消費者可見的套件。其他套件在模組外部不可見。

module org.gradle.sample.utilities {
    requires transitive org.gradle.sample.list;
    exports org.gradle.sample.utilities;
}

需要存取模組內部的單元(白箱)測試可以透過module-info.java 新增到測試來源集中,以傳統方式編寫。在測試執行中,模組隨後被視為標準 Java 函式庫,且封裝已停用。

黑箱(例如整合)測試,在測試執行期間也應遵循封裝規則,可以透過將對應的測試來源集本身轉換為模組(透過新增 module-info.java)來編寫。這在 此擴充範例 中顯示。