该模块是代码和数据的包。 模块的代码被组织到多个包中,每个包都包含java类和接口。 该模块的数据包括资源文件和其他静态信息。 模块的一个重要特性是它包含“module-info.class”文件,该文件在其构件的根目录中描述模块。 工件格式可以是传统的JAR文件或JMOD文件。 该文件由根目录中的源代码文件module-info.java编译而成。
我们可以使用新的关键字module在module-info.java文件中声明一个模块,模块com.company.mymodule的基本模块声明如下。
module com.nhooo.mymodule { }
创建一个文件夹C:\JAVA\src,然后创建一个与模块相同名称的文件夹com.nhooo.greetings。
使用以下代码在C:\JAVA\src\com.nhooo.greetings目录中创建一个module-info.java文件。
module com.nhooo.greetings { }
将源代码文件添加到模块,并在目录C:\JAVA\src\com.nhooo.greetings\com\nhooo\greetings中创建文件JavaTest.java,代码如下:
package com.nhooo.greetings; public class JavaTest { public static void main(String args[]) { System.out.println("Hello Nhooo!"); } }
创建一个文件夹C:\JAVA\modss,然后在此目录中创建com.nhooo.greetings文件夹,并将模块编译到该目录。
C:\JAVA>javac -d mods/com.nhooo.greetings src/com.nhooo.greetings/module-info.java C:\JAVA>javac -d mods/com.nhooo.greetings src/com.nhooo.greetings/com/nhooo/greetings/JavaTest.java
执行模块并查看输出
C:\JAVA>java --module-path mods -m com.nhooo.greetings/com.nhooo.greetings.JavaTest Hello Nhooo!
在上面的代码中,module-path指定模块所在的路径,-m指定主模块。