有谁知道如何以编程方式找出java类加载器实际加载类的位置?
我经常在大型项目上工作,其中类路径变得非常长并且手动搜索不是真正的选项.我最近遇到了一个问题,类加载器加载了一个不正确的类版本,因为它位于两个不同位置的类路径中.
那么我怎样才能让类加载器告诉我实际的类文件来自磁盘的哪个位置?
编辑:如果由于版本不匹配(或其他东西),类加载器实际上无法加载类,那么我们是否可以找到它在读取之前尝试读取的文件?
有没有人有代码来检测类路径中的重复JAR?
背景:当类路径中有相同JAR的两个版本时,可能会发生奇怪的事情.使用Maven等工具时甚至会发生这种情况:更改依赖关系并构建WAR而不先清理.由于target/webapp/WEB-INF/lib
没有清理,依赖将在那里两次.
这有安全网吗?