Javaクラスローダーがクラスを読み込んでいる順序をリストしようとしています。-verbose
パラメータは、ロード可能なすべてのインターフェイス/クラスを一覧表示します。Serializable、例外などの多くのインターフェイスを含みます。この出力を微調整する方法はありますか?
あなたの最善の策は次のことをすることだと思います:
main
メソッドが開始し、終了する直前にいくつかの固定テキストを出力します。同様の質問といくつかの回答があります: ClassLoaderが読み込んだクラスを取得する方法はありますか?
試しましたか -verbose:class
?
以下は、Java -verbose:classの出力を解析して、ロードされたクラス名とそのjarファイルのペアを生成するsed式です。さらにソートを介して一意のjarファイルを取得できます。例、
Java -verbose:class -version 2>/dev/null |
sed -ne 's/\[Loaded \(.\+\) from \(.\+\)\]/\2/p' |
sort -u
出力
/usr/local/jdk1.7.0_67/jre/lib/rt.jar