Java 9模块系统


Java 9是一种称为模块的新型编程组件。一个模块是一个自我描述的代码和数据集合,并有一个名称来标识它。

特征

使用Modules组件,Java 9中增加了以下增强功能 -

  • 引入了一个新的可选阶段,即链接时间。这个阶段介于编译时间和运行时间之间。在此阶段,可以组合和优化一组模块,使用jlink工具制作自定义运行时映像。

  • javac,jlink和java有额外的选项来指定模块路径,它们进一步定位模块的定义。

  • JAR格式更新为模块化JAR,其中包含根目录中的module-info.class文件。

  • 引入了JMOD格式,这是一种打包格式(类似于JAR),可以包含本机代码和配置文件。

创建模块

按照创建模块的步骤说com.codingdict.greetings。

步骤1

创建一个文件夹C:> JAVA \ src。现在创建一个与我们创建的模块名称相同的文件夹com.codingdict.greetings。

第2步

使用以下代码在C:> JAVA \ src \ com.codingdict.greetings文件夹中创建module-info.java。

module-info.java

module com.codingdict.greetings { }

module-info.java是用来创建模块的文件。在这一步中,我们创建了一个名为com.codingdict.greetings的模块。按照惯例,这个文件应该驻留在名称与模块名称相同的文件夹中。

第3步

在模块中添加源代码。使用以下代码在C:> JAVA \ src \ com.codingdict.greetings \ com \ codingdict \ greetings文件夹中创建Java9Tester.java。

Java9Tester.java

package com.codingdict.greetings;

public class Java9Tester {
   public static void main(String[] args) {
      System.out.println("Hello World!");
   }
}

按照惯例,模块的源代码位于模块名称相同的目录中。

步骤4

创建一个文件夹C:> JAVA \ mods。现在创建一个与我们创建的模块名称相同的文件夹com.codingdict.greetings。现在编译模块到mods目录。

C:/ > JAVA > javac -d mods/com.codingdict.greetings
   src/com.codingdict.greetings/module-info.java
   src/com.codingdict.greetings/com/codingdict/greetings/Java9Tester.java

第5步

让我们运行模块来查看结果。运行以下命令。

C:/>JAVA>java --module-path mods -m com.codingdict.greetings/com.codingdict.greetings.Java9Tester

这里module-path提供模块位置为mods,-m表示主模块。

输出

它将在控制台上打印下面的输出。

Hello World!