模块系统是 Java9 引入的新特性,是代码和数据的封装体。模块的代码被组织成多个包, 每个包中包含 Java 类和接口;模块的数据则包括资源文件和其他静态信息。
Java 9 模块的重要特征是在其工件(artifact)的根目录中包含了一个描述模块的 module-info.class 文件。工件的格式可以是传统的 JAR 文件或是 Java 9 新增的 JMOD 文件。这个文件由根目录中的源代码文件 module-info.java 编译而来。该模块声明文件可 以描述模块的不同特征。
在 module-info.java 文件中,可以用新的关键词 module 来声明一个模块
有时候模块在打包时没有导出所有的包,这意味着这些包或者类不应该在外部使用,可以通 过编译选项打开这些资源:https://www.cnblogs.com/IcanFixIt/p/7144366.html