如何通过Java代码获得当前JVM实例中所有模块的列表?有可能吗?如果是,那怎么做?
发布于 2017-09-17 19:48:05
ModuleLayer.boot().modules().stream()
.map(Module::getName)
.forEach(System.out::println);发布于 2017-09-17 18:02:24
使用jar或模块目录作为应用程序的输入,您可以使用ModuleFinder开始,并进一步使用findAll查找该查找器可以定位的所有模块引用集。
Path dir1, dir2, dir3;
ModuleFinder finder = ModuleFinder.of(dir1, dir2, dir3);
Set<ModuleReference> moduleReferences = finder.findAll();使用命令行选项可以轻松地将模块列表为:
java -p <jarfile> --list-modules但是,如果您不想像tweaking things所精确地指出的那样,使用ModuleLayer和Configuration of java.lang.module,那么这应该就足够了。
https://stackoverflow.com/questions/46266935
复制相似问题