このチュートリアルの例の独自のバージョンをビルドして実行しようとしています
インストルメンテーションを使用して HelloWorld クラスを実行する Eclipse プロジェクトを作成しました。そのページの下部にあるリンクからダウンロードした loggeragent.jar を使用すると、機能します。しかし、(同じソース コードから) loggeragent.jar をビルドすると、method.insertBefore() で例外がスローされます。
HelloWorld を計測できませんでした。例外: [source error] "r($1)+"));" 付近の構文エラーです。
デバッガーによると、挿入しようとする署名文字列は次のとおりです。
"main(" + "args" + "="+ org.slf4j.instrumentation.ToStringHelper.render($1)+")"
ここで、コードをビルドするために、いくつかのインポートにいくつかの変更を加える必要がありました。特に、import org.slf4j.instrumentation.JavassistHelper; を追加する必要がありました。したがって、2 つの jar が同じバージョンの JavaassistHelper を使用していない可能性がありますが、別のバージョンが見つかりません。
なぜこれがうまくいかないのですか?また、JavaassistHelper が何をするのか説明してもらえますか、それともマニュアルを教えてもらえますか?