在Java 9中,引入了模块概念。它是一个命名的,自描述的代码和数据集合。可以将代码组织为一组包含Java类和接口等类型的程序包,数据包括资源和其他类型的静态信息。模块包含名称,依赖项和导出的包。
module com.nhooo.mymodule { //一些陈述 }
在下面的示例中,我们可以使用ModuleLayer 类显示所有模块名称。
public class AllModulesNamesTest { public static void main(String args[]) { ModuleLayer.boot().modules().forEach((module) -> { System.out.println(module.getName()); }); } }
输出结果
jdk.security.jgss jdk.jartool javafx.swing java.security.sasl jdk.plugin.dom jdk.dynalink jdk.javaws jdk.internal.opt java.desktop jdk.snmp javafx.media javafx.web jdk.jsobject jdk.javadoc java.security.jgss jdk.compiler oracle.net jdk.deploy jdk.crypto.mscapi jdk.jstatd jdk.crypto.cryptoki jdk.accessibility java.sql.rowset java.prefs java.instrument jdk.jconsole jdk.scripting.nashorn jdk.internal.le java.xml jdk.packager javafx.base java.compiler jdk.localedata jdk.editpad jdk.management.jfr jdk.plugin jdk.packager.services java.naming jdk.security.auth java.datatransfer javafx.graphics jdk.xml.dom javafx.fxml jdk.zipfs oracle.desktop jdk.jdeps jdk.net jdk.internal.ed jdk.internal.jvmstat jdk.management.agent jdk.jshell java.sql java.scripting java.se jdk.naming.dns jdk.jdwp.agent jdk.jfr jdk.management jdk.charsets java.base jdk.jdi jdk.unsupported java.xml.crypto jdk.attach jdk.management.resource java.management jdk.httpserver jdk.crypto.ec java.management.rmi java.smartcardio jdk.naming.rmi java.jnlp jdk.jlink javafx.controls jdk.management.cmm java.logging java.rmi jdk.sctp