一個模組是套件的容器,每個模組都包含一個包含模組名稱、 模組依賴項的模組描述符,這表示其他模組的名稱取決於它,而它導出的套件的名稱只能被依賴它的模組使用。
<strong>module com.tutorialspoint.app {
/** Modules upon which the module com.tutorialspoint.app depends on */
requires com.tutorialspoint.services;
/** Packages exposed by this module which can be used by other modules */
exports com.tutorialspoint.app.util;
}</strong>
Java 9模組提供了三種不同的編譯模式:傳統模式、單模組模式和多模組模式。
模組的編譯模式:
-
#傳統模式:當編譯環境由-- source、--target和--release選項定義的版本小於或等於8時,可以啟用此模式。編譯器的行為與Java 8(或之前)相同,我們可以使用傳統選項(如classpath等)而不是任何模組相關的選項(如--module -path)。在此模式下,我們的程式碼在運行時作為未命名模組運行。
-
單模組模式:當編譯環境為9或更高版本且未使用--module-source-path選項時,可以啟用該模式。在此模式下,程式碼以傳統的包層次目錄樹結構組織。程式碼具有module-info.java文件,並在模組路徑上運行,而不是在類別路徑上運行。在這種結構中,我們可以直接將module-info.java檔案放在src目錄下。在同一目錄樹中不能有多個module-info.java文件,因此稱為單模組模式。
-
多模組模式:當編譯環境為9或更高版本且使用了--module-source-path選項時,可以啟用該模式。在此模式下,我們將多個模組放在同一來源目錄下。編譯時,可以使用--module-source-path選項來指定主源目錄。每個單獨模組的來源樹可以放在主來源目錄的子目錄中。
#
以上是Java 9中模組的不同編譯模式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!