Java 9 新特性
Java 9 最大的變化之一是引入了子產品系統(Jigsaw 項目)。
子產品就是代碼和資料的封裝體。子產品的代碼被組織成多個包,每個包中包含Java類和接口;子產品的資料則包括資源檔案和其他靜态資訊。
Java 9 子產品的重要特征是在其工件(artifact)的根目錄中包含了一個描述子產品的 module-info.class 文 件。 工件的格式可以是傳統的 JAR 檔案或是 Java 9 新增的 JMOD 檔案。這個檔案由根目錄中的源代碼檔案 module-info.java 編譯而來。該子產品聲明檔案可以描述子產品的不同特征。
在 module-info.java 檔案中,我們可以用新的關鍵詞module來聲明一個子產品,如下所示。下面給出了一個子產品com.mycompany.mymodule的最基本的子產品聲明。
module com.runoob.mymodule {
}
建立子產品
接下來我們建立一個 com.runoob.greetings 的子產品。
第一步
建立檔案夾 C:\>JAVA\src,然後在該目錄下再建立與子產品名相同的檔案夾 com.runoob.greetings。
第二步
在 C:\>JAVA\src\com.runoob.greetings 目錄下建立 module-info.java 檔案,代碼如下:
module com.runoob.greetings { }
module-info.java 用于建立子產品。這一步我們建立了 com.runoob.greetings 子產品。
第三步
在子產品中添加源代碼檔案,在目錄 C:\>JAVA\src\com.runoob.greetings\com\runoob\greetings 中建立檔案 Java9Tester.java,代碼如下:
package com.runoob.greetings;
public class Java9Tester {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
第四步
建立檔案夾 C:\>JAVA\mods,然後在該目錄下建立 com.runoob.greetings 檔案夾,編譯子產品到這個目錄下:
C:/>JAVA> javac -d mods/com.runoob.greetings
src/com.runoob.greetings/module-info.java
src/com.runoob.greetings/com/runoob/greetings/Java9Tester.java
第五步
執行子產品,檢視輸出結果:
C:/>JAVA> java --module-path mods -m com.runoob.greetings/com.runoob.greetings.Java9Tester
Hello World!
module-path 指定了子產品所在的路徑。
-m 指定主要子產品。
Java 9 新特性