2016-12-20 7 views
0

私はメソッドの周りにポイントカットを持つためにAspectを使用している1つのjarファイルを持っています。アスペクトはここでうまく動作し、実行時にメソッドの周りでアドバイスが適切に実行されます。Spring - 難解な(YGuard)バイナリ(Jar)の上にAspectjが適用されない

[AppClassLoader @ dad5dc]タイプでエラー「com.test.imp.aspect.AspectObf」(なしデバッグ情報):私は、このjarファイルを難読化し、それを実行したときしかし、それはコンソールでエラーの下に私を与えます: :0 @Aspectのデバッグ情報をポイントカットの正式なバインディングを処理することができません(Antで 'javac -g'または ''でコンパイルしてください)

助けてください。

答えて

1

まあ、エラーメッセージにはすべてのことが書かれており、問題の解決方法が分かります。 args(),this(),target(),@annotation()またはそれに類するもの。そしてobviosly AspectJはこれを動作させるためにデバッグ情報を必要とします。 yGuardを設定して、デバッグ情報をアスペクトから除外し、おそらくそれを難読化しなくても、自分で試してみるべきです。もう1つの選択肢は、注釈スタイルの代わりにネイティブのAspectJ構文を使用することです。 AspectJコンパイラは、実行時ではなくコンパイル時にパラメータバインディングを解決できますが、わかりません。

関連する問題