Java9 - 模块系统
Java9,引入了一种称为模块的新型编程组件。 模块是代码和数据的自描述集合,并有一个名称来标识它。
特点
对于模块组件,Java9 中添加了以下增强功能 −
一个新的可选阶段,链接时间,被引入。 此阶段介于编译时和运行时之间。 在此阶段,可以组装和优化一组模块,使用 jlink 工具制作自定义运行时映像。
javac、jlink 和 java 有额外的选项来指定模块路径,这些路径进一步定位模块的定义。
JAR 格式更新为模块化 JAR,其根目录中包含 module-info.class 文件。
JMOD 格式介绍,一种打包格式(类似于 JAR),可以包含本机代码和配置文件。
创建模块
按照创建模块的步骤说 com.tutorialspoint.greetings。
步骤 1
创建文件夹 C:\>JAVA\src。 现在创建一个文件夹 com.tutorialspoint.greetings ,它与我们正在创建的模块的名称相同。
步骤 2
使用以下代码在 C:\>JAVA\src\com.tutorialspoint.greetings 文件夹中创建 module-info.java。
module-info.java
module com.tutorialspoint.greetings { }
module-info.java 是用来创建模块的文件。 在这一步中,我们创建了一个名为 com.tutorialspoint.greetings 的模块。 按照约定,此文件应位于名称与模块名称相同的文件夹中。
步骤 3
在模块中添加源代码。 使用以下代码在 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!"); } }
按照惯例,模块的源代码位于与模块名称相同的目录中。
步骤 4
创建文件夹 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!