Java 9 模块系统
Java 9引入了一种新的编程组件,称为模块。模块是一个自描述的代码和数据的集合,并且有一个用于标识的名称。
特性
通过模块化组件,在Java 9中添加了以下增强功能:
- 引入了一个新的可选阶段,链接时间。该阶段处于编译时间和运行时间之间。在此阶段,可以使用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!