如何通过Java代码获取当前JVM实例中所有模块的列表?是否可以?如果是的话,怎么办?
ModuleLayer.boot().modules().stream()
.map(Module::getName)
.forEach(System.out::println);
ModuleFinder
开始并进一步使用 findAll
来查找 所有模块的集合该查找器可以找到的参考文献。
Path dir1, dir2, dir3;
ModuleFinder finder = ModuleFinder.of(dir1, dir2, dir3);
Set<ModuleReference> moduleReferences = finder.findAll();
这可以通过命令行选项轻松实现,将模块列出为:
java -p <jarfile> --list-modules
和
Configuration
的 java.lang.module
进行调整事情,正如 @ 所精确指出的那样,这应该足够了艾伦的回答.