java - 类加载器问题 - 如何确定加载了哪些库版本(jar 文件)

标签 java jar classloader

我刚刚解决了另一个 *I-though-I-was-using-this-version-of-a-library-but-appparently-my-app-server-has-already-loaded-an-older-这个库的版本-*问题(叹气)。

有人知道验证(或监控)您的应用程序是否可以访问所有适当的 jar 文件或加载的类版本的好方法吗?

提前致谢!

[附注开始使用 OSGi module architecture 的一个很好的理由在我看来!]

更新:This文章也有帮助!它通过将 JBoss 的类加载器写入日志文件来让我了解加载了哪些类。

最佳答案

如果您碰巧在使用 JBoss,那么有一个 MBean(类加载器存储库 iirc),您可以在其中询问已加载某个类的所有类加载器。

如果所有其他方法都失败了,总是有 java -verbose:class 它将打印每个正在加载的类文件的 jar 的位置。

关于java - 类加载器问题 - 如何确定加载了哪些库版本(jar 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/139534/

相关文章:

java - 组合框中的系统运行服务

java - 公钥和 keystore 不匹配

Java数组问题

java - 在游戏中创建自定义卡面时出现 NullPointerException?

ant - 是否有使用 ant junit 任务的可自定义类加载顺序?

java - 使用 Java 类加载器获取堆栈跟踪

java - 从 Eclipse 运行 Jboss EAP 6.3 时出错?

java - 动态检索 rj.jar 的路径(OS X 中的classes.jar)

java - 双击 .jar 文件以在命令行中启动它

java - 如何从jar文件动态加载类