Java 9中有哪些不同的模块类型?

Module System是Java 9中引入的新功能。Module是一组软件包集合,分为两种类型:Exported软件包Concealed软件包。导出的软件包可以在此软件包之外使用。隐藏的软件包不能在该模块之外使用,只有该模块的代码可以使用这些软件包。

这里是F我们类型的模块中的Java 9如下

  • 应用程序模块:创建此模块是为了实现功能。所有第三方依赖项都属于此类别。

  • 自动化模块:可以在没有模块描述符的情况下放置在模块路径中的jar属于自动化模块。该模块的主要好处是使用Java 9之前的版本的jars

  • 未命名的模块:类路径上的任何jar或类都属于未命名的模块。由于它没有任何名称,因此可以读取和导出所有模块。

  • 平台模块: JDK已转换为模块化结构,这些模块称为平台模块。

module <Module-Name> {
   requires moduleName;
   exports packageName;
}