Есть ли способ определить, какой ClassLoader загружает определенный класс? Или конкретнее откуда загружается конкретный класс?
У меня есть ситуация, когда загружается старый класс драйвера БД. Я хотел бы найти файл, из которого загружен старый драйвер.
Мой первоначальный подход состоит в том, чтобы установить точку отладки для метода ClassLoader.loadClass (..) и остановить vm после загрузки класса, чтобы увидеть, какой загрузчик классов его загружает. К сожалению, метод loadClass вызывается так часто, что трудно остановиться там, где загружен класс. Я постараюсь установить фильтр точек останова. Однако существует еще одна проблема: из-за архитектуры ClassLoader loadClass вызывается, даже если ClassLoader не отвечает за загрузку.
Должен быть лучший способ достичь того, чего я хочу. У вас есть идея или предложение, где искать решение?