特定のクラスをロードするClassLoaderを特定する方法はありますか?または、特定のクラスがロードされている場所からより具体的には?特定のクラスをロードするClassLoaderを見つける
古いdbドライバクラスがロードされている状況があります。私は、古いドライバがロードされている場所のファイルを探したいと思います。
私の最初のアプローチは、ClassLoader.loadClass(..)メソッドでデバッグポイントを設定し、クラスがロードされるとvmを停止して、どのクラスローダーがロードしているかを確認することです。残念なことに、loadClassメソッドは非常に頻繁に呼び出され、クラスがロードされる場所を停止するのが困難です。私はブレークポイントフィルターを設定しようとします。しかし、別の問題があります。ClassLoaderアーキテクチャのため、ClassLoaderがロードの責任を負いなくてもloadClassが呼び出されます。
私がしたいことを達成するには、より良い方法が必要です。解決策を探すためのアイデアや提案はありますか?
素晴らしい答えです。両方の答えは素晴らしいですが、どちらを1つにするべきですか? – paweloque
@ sgp15、実行時に特定のクラスを読み込むClassLoaderインスタンスをプログラムで取得する方法はありますか?ありがとう。 – suat