我试图了解如何实现自定义ModuleFinder。为此,我需要实现自定义ModuleReference,而对于ModuleReference,我需要实现ModuleReader。这是我的密码:
ModuleReference ref = new ModuleReference(moduleDescriptor, Paths.get(path).toUri()) {
@Override
public ModuleReader open() throws IOException {
ModuleReader moduleReader = new ModuleReader() {
@Override
public Optional<URI> find(String name) throws IOException {
//LINE X
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Stream<String> list() throws IOException {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void close() throws IOException {
throw new UnsupportedOperationException("Not supported yet.");
}
};
return moduleReader;
}};
我不明白我应该在LINE X写些什么。正如我所理解的,这个模块不是由JVM加载的,所以我必须给文件系统上jar中的资源提供一个URI吗?像/home/Sam/temp/foo-1.jar!META-INF/temp.txt之类的吗?
发布于 2018-10-08 10:22:43
ModuleReader的一个例子可以在这个邮件线程http://mail.openjdk.java.net/pipermail/jigsaw-dev/2018-September/013924.html中找到。
https://stackoverflow.com/questions/52391589
复制相似问题