Java 9于本月21日正式发布,广受开发者欢迎的IDE产品IntelliJ IDEA随即在官方博客 介绍 了对Java 9的支持情况以及即将发布的IntelliJ IDEA 2017.3所包含的新特性。现在,我们就看一下IntelliJ IDEA提供了哪些特性来帮助开发人员更高效地使用Java 9的新功能。
在Java 9中,最引人关注的新特性就是 Java平台模块化系统 (Java Platform Module System,JPMS)了,它是在 Jigsaw项目 下提供的。Jigsaw本身的任务范围更广泛一些,其中还包括对JDK本身的模块化,而对于开发人员来说,更关心的则是JPMS。
IntelliJ IDEA通过多项特性来支持Java平台模块化系统。
借助IDEA,我们可以很容易地为IntelliJ IDEA module创建module-info.java文件,如下图所示:
这样的话,就能得到模块声明的基本结构,包括与IntelliJ IDEA module匹配的模块名。当然,在使用该文件的时候,可以借助代码高亮和补全功能:
如果在一个带有module-info.java文件的模块中运行代码的话,IntelliJ IDEA会自动使用-p参数(模块路径)来替代-classpath:
在将代码迁移至JPMS时,对于常见的问题,IntelliJ IDEA提供了快速修正的功能,比如添加“requires”指令:
另外,还能够探测到重复的指令和其他可修复的错误:
IntelliJ IDEA还支持创建模块图,从而能够以可视化的方式展现我们所使用的模块。JDK模块、自己编写的模块以及自动化(automatic)模块会以不同的颜色显示,为了强调,传递性所需的模块会使用更粗的线来表示。
当我们刚开始使用模块化功能时,这些图会特别有用,因为它能够让我们清楚地看到都使用了哪些模块,它们来自哪里。
IntelliJ IDEA还提供了探查(Inspection)功能,有助于将代码迁移至Java 9。例如,我们可以高亮显示自动化的模块:
这样的话,能够看出我们依赖的并不是真正的Java 9模块。这一点也是很重要的,因为这些自动化模块随着时间推移可能会发生变化:
来源: http://www.tuicool.com/articles/vM3Uziq