Java 9 中模块的不同编译模式是什么?
一个模块是包的容器,每个模块包含一个模块描述符,其中包括模块名称、模块依赖项,这意味着其他模块的名称取决于它以及它导出的包的名称,这些包只能被依赖它的模块使用。
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;
}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
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP