1

AspectJ コンパイルの結果としてソース ファイルを取得する方法はありますか? ajc は、バイトコードを取得する代わりに、javac でコンパイルできる Java ソースを生成するプリプロセッサとして機能しますか?

4

1 に答える 1

5

バージョン 1.2 以降、AspectJ はソース トランスフォーマーではなく、バイトコード トランスフォーマーです。最近のバージョンでは、AspectJ から直接ソースを取得することはできません。逆コンパイラ/逆アセンブラを使用して、コンパイルされたバイトコードからソースに戻ることができますが、それらのソースはきれいに見えない場合があります。

それが懸念事項である場合 (つまり、javac を使用してアプリケーションをビルドしたい場合)、アプリケーション コードの残りの部分でアスペクトをコンパイルする必要はありませんか? アプリケーションを javac でコンパイルし、javac がバイナリ ウィービング ステップで生成したバイトコードにアスペクトを直接適用できます。

于 2014-08-08T21:42:14.210 に答える