如何查找类加载器加载哪些jar和以什么顺序加载?

我在其他地方找不到这个问题的明确答案,因此我将在这里尝试:

是否有某种方法(以编程方式或其他方式)来获取Application Classloader加载时所加载的JAR

/类列表的确切顺序?应用程序类加载器,我是指在应用程序服务器(WLS,WAS,JBoss

…)中加载EAR应用程序的类加载器,但显然,它适用于任何类加载器。

因此,概括地说,我想找出的是由指定类加载器加载的JAR的列表和顺序。不是单个类,通过调用classloader.getPackages()可以很容易地找到它,但是可以列出由该类加载器加载的JAR文件列表。

回答:

最简洁的答案是不。类加载器不需要公开其搜索逻辑。

但是,如果您的类加载器实例恰好是URLClassLoader或子类,则您确实可以通过getURLs()方法访问jar

/目录列表。根据此类的文档,将按顺序搜索这些URL。

在实践中,如果您试图找出从何处加载类, Steve 的答案可能更有用。

以上是 如何查找类加载器加载哪些jar和以什么顺序加载? 的全部内容, 来源链接: utcz.com/qa/414575.html

回到顶部