idea 创建java module_在IDEA中创建Java 9 modules(模块)的Hello World

本文介绍了如何在IntelliJ IDEA 2017.1中创建Java 9模块,包括模块化工程的概念,以及如何通过module-info.java文件进行模块依赖管理。IDE提供了代码补全、错误检查和快速修复功能,帮助开发者适应Java 9的模块化特性。
摘要由CSDN通过智能技术生成

IntelliJ IDEA 2017.1 支持Java9的模块化特性 (Project Jigsaw)。 在此版本,模块文件中还支持基于特定名称与关键字的自动补全功能 code completion, 并且你可以快速斧正你项目中的模块化代码。

So,那就让我们来一探究竟什么是模块化工程。首先,我们创建一个普通的模块工程 IntelliJ IDEA module 其中包含了改变世界的伟大的 “Hello World” 。

526bd84bf712764689aeaba274a2bebc.png

IntelliJ IDEA 会引导你在工程中为你的模块创建一个module-info.java

13175afcf0400aa8f43edcfc9ae5953c.png

module-info.java 将为你提供一个基础的模块代码结构。

483ce5c6308e837442a0d19fdcba72d1.png

一切听指挥,党会指引你正确的道路!

此时,当你在按照以往那样使用一个Java类时,你就会看到模块化带来的新姿势。

7ba7d59849da9ed41cfdbbe00a0f2d9b.png

Here,IntelliJ IDEA可以帮助你找出问题所在,并提出修复建议。

5a9217b30c89d3c2aed08f13d617a4f7.png

如你所料,进行这个操作之后IntelliJ IDEA对module-info.java文件进行了正确的更改。

d52fde1a2c5a9fb42eba51fa13d30b52.png

当然,你也可以尝试自己编辑module-info.java文件,IDEA 会给你完整的补全和提示信息。

68d396a14e31f2f37dbdb3659c5e188f.png

快速修复不仅可用于标准Java模块,还可帮助您自己编写模块代码。如果您尝试访问另一个IntelliJ IDEA模块中的代码,从一个模块的内部来使用模块化特性 (module-info.java文件中会有提示), IntelliJ IDEA 将会提示你如果没有进行正确的更改,是不能运行的。

88d358205da48329eeaec415648a23c0.png

首先,有很多提示来帮助你完成更改,所以,一旦module-info.java 文件所在的模块下有java文件,你可以快速补齐后面的包路径。

083c8ac42f7727a876d826b7fdd75028.gif

回到这个被导入模块的类中来,使用Alt 和 Enter 来获取fix建议。这里有两个步骤:firstly, 模块 one 需要依赖模块two。一旦此操作完成,模块one的module-info.java文件就能关联模块two.

bd46d2ad100986ceae5cee08c46bca31.gif

这里有两个模块,需要格外注意的是:firstly, the IntelliJ IDEA modules 你可能已经熟悉; and secondly, 新的 Java 9 (Jigsaw) 模块被指定使用module-info.java。 要使用Java模块化特性,每个Java 9模块都需要对应于IntelliJ IDEA模块。还要注意的是(IntelliJ IDEA 2017.1中的最后一个示例所示),需要声明IntelliJ IDEA模块依赖关系以及Java 9模块依赖关系。所以在最后一个例子中,模块one依赖模块two:

bac92b08dedd9d698c5ed9ad8c749279.png

但是在module-info.java文件中也需要声明它是关联模块two的:

0ded1afc8d07203750176c38dd55c6a3.png

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值