Java 9 - 模块系统
Java 9 引入了一种称为模块的新型编程组件。模块是代码和数据的自描述集合,并有一个名称来标识它。
特点
借助 Modules 组件,Java 9 中添加了以下增强功能 -
-
引入了一个新的可选阶段,链接时间。此阶段介于编译时间和运行时间之间。在这个阶段,可以组装和优化一组模块,使用 jlink 工具制作自定义的运行时映像。
-
javac、jlink 和 java 有额外的选项来指定模块路径,从而进一步定位模块的定义。
-
JAR 格式更新为模块化 JAR,其根目录下包含 module-info.class 文件。
-
引入JMOD格式,一种封装格式(类似于JAR),可以包含原生代码和配置文件。
创建模块
按照创建模块的步骤说 com.tutorialspoint.greetings。
步骤 1
创建一个文件夹 C:\>JAVA\src。现在创建一个与我们正在创建的模块名称相同的文件夹 com.tutorialspoint.greetings。
第二步
使用以下代码在 C:\>JAVA\src\com.tutorialspoint.greetings 文件夹中创建 module-info.java。
模块信息.java
module com.tutorialspoint.greetings { }
module-info.java 是用于创建模块的文件。在这一步中,我们创建了一个名为 com.tutorialspoint.greetings 的模块。按照惯例,该文件应位于名称与模块名称相同的文件夹中。
第三步
在模块中添加源代码。使用以下代码在 C:\>JAVA\src\com.tutorialspoint.greetings\com\tutorialspoint\greetings 文件夹中创建 Java9Tester.java。
Java9Tester.java
package com.tutorialspoint.greetings; public class Java9Tester { public static void main(String[] args) { System.out.println("Hello World!"); } }
按照约定,模块的源代码位于与模块名称相同的目录中。
第四步
创建一个文件夹 C:\>JAVA\mods。现在创建一个与我们创建的模块名称相同的文件夹 com.tutorialspoint.greetings。现在将模块编译到 mods 目录。
C:/ > JAVA > javac -d mods/com.tutorialspoint.greetings src/com.tutorialspoint.greetings/module-info.java src/com.tutorialspoint.greetings/com/tutorialspoint/greetings/Java9Tester.java
第 5 步
让我们运行模块来看看结果。运行以下命令。
C:/>JAVA>java --module-path mods -m com.tutorialspoint.greetings/com.tutorialspoint.greetings.Java9Tester
这里 module-path 以 mods 的形式提供模块位置,-m 表示主模块。
输出
它将在控制台上打印以下输出。
Hello World!
java