Java 9 中模組的不同編譯模式是什麼?
一個模組是包的容器,每個模組包含一個模組描述符,其中包括模組名稱、模組依賴項,這意味著其他模組的名稱取決於它以及它匯出的包的名稱,這些包只能被依賴它的模組使用。
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;
}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
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP