Java9模塊系統
Java 9是一種稱爲模塊的新型編程組件。模塊是一個自我描述的代碼和數據集合,並有一個名稱來標識它。
模塊系統特徵
使用模塊組件,Java 9中增加了以下增強功能 -
- 引入了一個新的可選階段,即鏈接時間。這個階段介於編譯時間和運行時間之間。 在此階段,可以組合和優化一組模塊,使用jlink工具製作自定義運行時映像。
- javac,jlink和java有額外的選項來指定模塊路徑,它們進一步定位模塊的定義。
- JAR格式更新爲模塊化JAR,其中包含根目錄中的
module-info.class
文件。 - 引入了JMOD格式,這是一種打包格式(類似於JAR),可以包含本機代碼和配置文件。
創建模塊
按照下面步驟來創建一個模塊:com.yiibai.greetings
。
第1步
創建一個文件夾F:\worksp\java9\src
。 在這個目錄下,創建一個與創建的模塊名稱相同的文件夾com.yiibai.greetings
。
第2步
使用以下代碼在F:\worksp\java9\src\com.yiibai.greetings
文件夾中創建一個文件:module-info.java,添加以下內容 -
module com.yiibai.greetings { }
module-info.java
是用來創建模塊的文件。 在這一步中,我們創建了一個名爲com.yiibai.greetings
的模塊。 按照慣例,這個文件應該存儲在名稱與模塊名稱相同的文件夾中。
第3步
在模塊中添加源代碼。在F:\worksp\java9\src\com.yiibai.greetings\com\yiibai\greetings
文件夾中創建一個Java文件:Java9Tester.java,其代碼如下 -
package com.yiibai.greetings;
public class Java9Tester {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
按照慣例,模塊的源代碼位於與模塊名稱相同的目錄中。
第4步
創建一個文件夾F:\worksp\java9\mods。 現在創建一個與創建的模塊名稱相同的文件夾F:\worksp\java9\mods\com.yiibai.greetings
。 現在編譯模塊到mods
目錄。如下所示 -
F:\worksp\java9> javac -d mods/com.yiibai.greetings src/com.yiibai.greetings/module-info.java src/com.yiibai.greetings/com/yiibai/greetings/JavaTester.java
第5步
運行模塊來查看結果,執行以下命令。
F:\worksp\java9>java --module-path mods -m com.yiibai.greetings/com.yiibai.greetings.JavaTester
Hello World!
這裏module-path
將mods
作爲模塊位置提供,而-m
則表示主模塊。
完整的過程如下圖所示 -