如何在Java 9中以其名称获取模块?

时间:2017-09-18 20:24:24

标签: java java-9 java-module

如何在Java 9中按字符串名称获取java.lang.Module

例如,我们有

String name = "some.module";
Module module = //how to get here it?

1 个答案:

答案 0 :(得分:7)

从初始化后至少包含java.base的启动层获取模块的一种方法是:

String moduleName = "my.module";
Module m = ModuleLayer.boot().findModule(moduleName).orElse(null);

虽然最好是安全的方式IMO,但是要让模块使用Configuration和系统ClassLoader来获取模块的ModuleLayer,然后{{1} as:

findModule