java 9 模块系统
java 9 最大的变化之一是引入了模块系统(jigsaw 项目)。
模块就是代码和数据的封装体。模块的代码被组织成多个包,每个包中包含java类和接口;模块的数据则包括资源文件和其他静态信息。
java 9 模块的重要特征是在其工件(artifact)的根目录中包含了一个描述模块的 module-info.class 文 件。 工件的格式可以是传统的 jar 文件或是 java 9 新增的 jmod 文件。这个文件由根目录中的源代码文件 module-info.java 编译而来。该模块声明文件可以描述模块的不同特征。
在 module-info.java 文件中,我们可以用新的关键词module来声明一个模块,如下所示。下面给出了一个模块com.mycompany.mymodule的最基本的模块声明。
module com.51frw.mymodule { }
创建模块
接下来我们创建一个 com.51frw.greetings 的模块。
第一步
创建文件夹 c:>javasrc,然后在该目录下再创建与模块名相同的文件夹 com.51frw.greetings。
第二步
在 c:>javasrccom.51frw.greetings 目录下创建 module-info.java 文件,代码如下:
module com.51frw.greetings { }
module-info.java 用于创建模块。这一步我们创建了 com.51frw.greetings 模块。
第三步
在模块中添加源代码文件,在目录 c:>javasrccom.51frw.greetingscom51frwgreetings 中创建文件 java9tester.java,代码如下:
package com.51frw.greetings; public class java9tester { public static void main(string[] args) { system.out.println("hello world!"); } }
第四步
创建文件夹 c:>javamods,然后在该目录下创建 com.51frw.greetings 文件夹,编译模块到这个目录下:
c:/>java> javac -d mods/com.51frw.greetings src/com.51frw.greetings/module-info.java src/com.51frw.greetings/com/51frw/greetings/java9tester.java
第五步
执行模块,查看输出结果:
c:/>java> java --module-path mods -m com.51frw.greetings/com.51frw.greetings.java9tester hello world!
module-path 指定了模块所在的路径。
-m 指定主要模块。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!