Alguém sabe como descobrir programaticamente de onde o java classloader realmente carrega a classe?
Costumo trabalhar em grandes projetos em que o caminho da classe fica muito longo e a pesquisa manual não é realmente uma opção. Recentemente, tive um problema em que o carregador de classes estava carregando uma versão incorreta de uma classe porque estava no caminho de classe em dois locais diferentes.
Então, como posso fazer com que o carregador de classes me diga de onde vem o arquivo de classe real?
Edit: E se o carregador de classes realmente não carregar a classe devido a uma incompatibilidade de versão (ou outra coisa), existe alguma maneira de descobrir qual arquivo está tentando ler antes de lê-lo?