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!