Java 9中模块的不同编译模式是什么?

Java 9中模块的不同编译模式是什么?

一个模块是包的容器,每个模块都包含一个包含模块名称模块依赖项的模块描述符,这意味着其他模块的名称取决于它,并且它导出的包的名称只能被依赖于它的模块使用。

<strong>module com.tutorialspoint.app {
   /** Modules upon which the module com.tutorialspoint.app depends on */
   requires com.tutorialspoint.services;
   /** Packages exposed by this module which can be used by other modules */
   exports com.tutorialspoint.app.util;
}</strong>

Java 9模块提供了三种不同的编译模式:传统模式、单模块模式和多模块模式。

模块的编译模式:

  • 传统模式:当编译环境由--source--target--release选项定义的版本小于或等于8时,可以启用该模式。编译器的行为与Java 8(或之前)相同,我们可以使用传统选项(如classpath等)而不是任何模块相关的选项(如--module-path)。在此模式下,我们的代码在运行时作为未命名模块运行。
  • 单模块模式:当编译环境为9或更高版本且未使用--module-source-path选项时,可以启用该模式。在此模式下,代码以传统的包层次目录树结构组织。代码具有module-info.java文件,并在模块路径上运行,而不是在类路径上运行。在这种结构中,我们可以直接将module-info.java文件放在src目录下。在同一目录树中不能有多个module-info.java文件,因此称为单模块模式
  • 多模块模式:当编译环境为9或更高版本且使用了--module-source-path选项时,可以启用该模式。在此模式下,我们将多个模块放在同一源目录下。在编译时,可以使用--module-source-path选项指定主源目录。每个单独模块的源树可以放在主源目录的子目录中。

以上就是Java 9中模块的不同编译模式是什么?的详细内容,更多请关注其它相关文章!