Java9模块化指南
1. 概述 Java9在包之上引入了一个新的抽象级别,正式称为Java平台模块系统(JPMS),简称“模块”。 在本文中,我们将介绍新系统并讨论其各个方面。 2. 什么是模块? 首先,我们需要先了解模块是什么,然后才能了解如何使用它们。 模块是一组密切相关的包和资源以及一个新的模块描述符文件。 换句话说,它是一个“Java包的包”的抽象,允许我们使代码更加 可重用 。 2.1 Packages 模块中的包与我们自Java诞生以来一直使用的Java包是相同的。 当我们创建一个模块时,我们将代码内部组织在包中,就像我们以前对任何其他项目所做的那样。 除了组织我们的代码外,还使用包来确定哪些代码可以在 模块外部公开访问 。我们将在本文后面花更多的时间讨论这个问题。 2.2 Resources 每个模块负责其资源,如媒体或配置文件。 以前,我们将所有资源放在项目的根级别,并手动管理属于应用程序不同部分的资源。 通过模块,我们可以将所需的图像和XML文件与需要的模块一起发送,从而使我们的项目更 易于管理 。 2.3 模块描述符 创建模块时,我们会包含一个描述符文件,该文件定义了新模块的几个方面: Name–我们模块的名称 依赖项–此模块依赖的其他模块的列表 公共包–我们希望从模块外部访问的所有包的列表 提供的服务–我们可以提供其他模块可以使用的服务实现 已使用的服务