如何通过 Java 代码获取当前 JVM 实例中所有模块的列表?是否可以?如果是,那么如何?
问问题
4166 次
2 回答
15
ModuleLayer.boot().modules().stream()
.map(Module::getName)
.forEach(System.out::println);
于 2017-09-17T19:48:05.483 回答
4
使用 jar 或模块目录作为应用程序的输入,您可以使用 aModuleFinder
开始并进一步使用findAll
查找此查找器可以找到的所有模块引用的集合。
Path dir1, dir2, dir3;
ModuleFinder finder = ModuleFinder.of(dir1, dir2, dir3);
Set<ModuleReference> moduleReferences = finder.findAll();
这很容易通过命令行选项将模块列出为:
java -p <jarfile> --list-modules
但是,如果您不想像@Alan的回答所指出的那样故意使用 the和 the来调整事物,这应该就足够了。ModuleLayer
Configuration
java.lang.module
于 2017-09-17T18:02:24.657 回答