Java 9 - 模块系统

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

功能

使用Modules组件,以下增强功能已添加到Java 9 :

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

  • javac,jlink和java有其他选项指定模块路径,进一步定位模块的定义.

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

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

创建模块

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

步骤1

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

步骤2

创建模块 - c:\>中的info.java:带有以下代码的.greetings文件夹.

module-info.java

module com.it1352.greetings { }


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

步骤3

在模块中添加源代码.在C:\>JAVA\src\com.it1352.greetings\com\it1352\greetings\Java9Tester.java

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


按照惯例,模块的源代码位于同一目录中,即模块的名称.

步骤4

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

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


步骤5

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

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


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

输出

它将在控制台上打印以下输出.

Hello World!