例如,我有somefile-0.1.jar
包含 JPMS 模块的 jar 文件。此外,我参考Module somemodule
了这个模块。
如何通过模块获取 jar 文件名(使用somemodule
参考)?我已经检查了 Module API,但没有找到方法。
例如,我有somefile-0.1.jar
包含 JPMS 模块的 jar 文件。此外,我参考Module somemodule
了这个模块。
如何通过模块获取 jar 文件名(使用somemodule
参考)?我已经检查了 Module API,但没有找到方法。
不能保证模块是从模块化 JAR 加载的。无论如何,我认为这与您正在寻找的内容很接近:
Module m = ...
ModuleLayer layer = m.getLayer();
if (layer != null) {
ModuleReference mref = layer.configuration()
.findModule(m.getName())
.map(ResolvedModule::reference)
.orElseThrow(() -> new RuntimeException("should not happen"));
}