Java 9中的模块信息文件中有哪些组件?

模块是代表单个功能的独立应用程序单元。一个模块包含三个重要组件

  • 名称:唯一标识

  • 依赖关系:它依赖的其他模块

  • 导出的软件包:可用于外部应用程序的软件包

为了声明一个模块,我们需要在根源代码中添加“ module-info.java ”文件。“ module-info.java ”文件的组件包括“名称”,“需要”,“导出”和“导出到”。

以下是“ module-info.java” 文件的模板

module <module-name> {
   requires <module-name1> ;
   requires <module-name2>;
   ...
   exports <package-name1>;
   exports <package-name2>;
   ...
   exports <package-name> to <module-name>;
}
  • 名称:这是模块的重要特征。模块化系统通过名称标识模块,因此它是唯一的。

  • 要求:此子句可用于定义依赖关系和当前模块所依赖的 外部 模块 。我们需要为“ module-info.java”中的每个相关模块单独设置“ requires 条目。Java 9有一个基本 模块。它是一个独立的模块,不需要任何其他模块。我们不必在模块中使用“ requires”子句来指定。默认情况下,此基本模块可用。

  • 出口: “出口”条款是确定当前模块出口包。这些软件包已开放供其他模块使用。我们需要为“ module-info.java” 文件中的每个导出模块有单独的“ exports ”条目

  • 出口: 在“出口条款将程序包仅导出到特定的模块,而不是出口给大家。