JSRUN 用代码说话

通过Java 9模块系统入门

编辑教程

通过Java 9模块系统入门

下面讨论的功能基于IntelliJ IDEA和JDK 9的早期访问版本,并且可能在将来发生变化。

Java平台模块系统(JSR 376)又称Project Jigsaw,目标是成为JDK 9版本的一部分。JSR描述的系统目标是:

可靠的配置,用一种程序组件声明彼此之间显式依赖关系的方法取代脆弱的、容易出错的类路径机制
强大的封装,允许组件声明其中哪些公共类型可供其他组件访问,哪些不可访问。

IntelliJ IDEA已经有一个项目模块的概念。每个IntelliJ IDEA模块都构建自己的类路径。

随着新的Java平台模块系统的引入,如果使用Java平台的模块路径而不是类路径,IntelliJ IDEA模块必须通过支持Java平台的模块路径来扩展其功能。

在本教程中,我们将探讨IntelliJ IDEA在创建和使用Java平台模块方面提供的帮助,以及这些模块如何与IntelliJ IDEA模块协同工作。

创建一个模块

在IntelliJ IDEA中创建模块后,我们可以通过在模块源目录下创建module-info.java文件将其定义为Java平台模块。

每个IntelliJ IDEA模块最多只能有一个Java平台模块。我们可以通过选择我们想要创建它的源目录并使用菜单选项:New|module-info.java(New | module-info.java)为我们的模块创建一个新的module-info.java。

Jigsaw创建模块信息

创建module-info.java声明文件时,IntelliJ IDEA将选择IntelliJ IDEA模块的名称作为Java Platform模块的默认名称。这可以更改,不需要匹配。

拼图模块名称

使用模块

与所有java文件类型一样,IntelliJ IDEA帮助我们对module-info.java内容进行自动完成和有效性检查。

需要在IntelliJ IDEA和Java Platform(Jigsaw)模块中定义模块的依赖关系。 IntelliJ IDEA帮助我们保持同步。 要定义项目模块之间的依赖关系,我们可以在module-info.java中编写一个requires声明,然后IntelliJ IDEA会建议我们将它作为依赖项添加到其模块中。 这也适用于库依赖项,但前提是库jar文件已经声明为项目依赖项。

Jigsaw从模块信息中添加依赖项

从另一个方向,我们可以编写我们的java代码。IntelliJ IDEA将建议将其他模块添加为对当前模块的依赖,然后还建议我们添加requires声明。

Jigsaw从代码中添加依赖项

运行模块

在IntelliJ IDEA中运行类时(使用快捷键Ctrl+Shift+F10),将使用Java平台模块中声明的信息。这意味着IntelliJ IDEA将使用模块路径而不是类路径运行JVM。这将强制执行我们从模块系统获得的强封装,然后我们可能会遇到的任何依赖性问题都会被此次运行重现。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟