4

load-time-weaving を使用して perf4j をプログラムに結び付けようとしていますが、クラスパスで aop.xml が見つからないようです。それか、アスペクトを織り込んでいないかのどちらかです。aop.xml からの詳細出力を有効にしましたが、ウィービング メッセージやエラーなどは表示されません。aspectJweaver はどこで META-INF/aop.xml を探しますか? 探しているものをどのように判断できますか?

これでxmlをインポートするために直接パスを使用しようとしましたが、うまくいきませんでした。-Dorg.aspectj.weaver.loadtime.configuration=C:\dev\trunk\bin\META-INF\aop.xml

注: プログラムは compile-time-weave で意図したとおりに動作しますが、load-time-weave を使用することをお勧めします。また、小さなテスト ケースを使用して load-time-weave を実装することもできました。

4

1 に答える 1

6

META-INFフォルダーは、クラスパスのルート上にある必要があります。また、META-INFフォルダーにはファイルaop.xmlが含まれている必要があります。

スタンドアロンプ​​ログラムの場合、JVMをウィービングJavaエージェントで起動する必要があります。例えば:

-javaagent:pathto/aspectjweaver.jar

春の場合:

-javaagent:pathto/spring-agent.jar

詳細については、AspectJの開発環境ガイドを参照してください。

Webコンテナーを使用する場合は、ロード時のウィービングを実行するようにコンテナーを構成する必要があります。 SpringSourceのリファレンスガイドは、Tomcatでロード時ウィービングを有効にする方法を示しています。

于 2012-02-24T10:37:51.983 に答える