是否可以列出给定包中的资源?

2022-09-02 20:11:34

假设我的类是从压缩的 .war 文件加载的,或者加载到其他位置,如何发现给定包中的所有资源?枚举文件将不起作用,因为这是一个 war 文件。这很可能涉及使用当前的类装入器?

有没有一个图书馆可以做这样的事情?谷歌搜索仅显示一些带有列表文件的黑客。


答案 1

是的。您可以使用 ;

或者你可以使用雪貂API:
https://www.ohloh.net/p/pureperfect-ferretClassLoader.getResources("")

此 API 允许您使用访客模式扫描类路径以及任意存档和目录。


答案 2

不,您无法列出包中的资源,因为 JVM 根本不知道哪个包中有哪些资源。请参阅此问题