5

アスペクトのコンパイル時ウィービングを使用するプロジェクトがあります。このプロジェクトは、jarとして含まれている別のプロジェクトに依存しています。コンパイル中にjarファイルにクラスを織り込みたい。どうすればこれを達成できますか。

ありがとう

4

2 に答える 2

6

この jar は、コンパイルされるプロジェクトの inpath に追加する必要があります。その結果、クラス ファイルの新しいセットが作成されます。これらの新しいクラス ファイルは織り込まれたものであり、元の jar の代わりに実行時に使用する必要があります。

in パスを設定する方法は、コードのコンパイル方法によって異なります。

  1. Eclipse/AJDT 内では、AspectJ Build プロジェクトのプロパティ ページで in パスを設定できます。ここで、in-path out フォルダーを設定して、これらのクラス ファイルの特別な場所を指定することもできます。
  2. ant から iajc タスクを使用すると、inpath 属性を使用できます。詳細については、こちらを参照してください: http://www.eclipse.org/aspectj/doc/released/devguide/antTasks-iajc.html
  3. ajc コマンドを使用する場合は、-inpathオプションを使用します。ここhttp://www.eclipse.org/aspectj/doc/released/devguide/ajc-ref.htmlを参照してください。

注意が必要なのは、実行中のアプリケーションで元の jar を使用しないようにすることです。

于 2011-01-31T16:37:00.050 に答える
4

Maven を使用している場合は、aspectj-maven-plugin も使用できます。日食(m2e)でうまく機能します。

プラグインでは、依存 jar の groupId/artifactId と構成/weaveDependencies/weaveDepedency を指定するだけです。

http://mojo.codehaus.org/aspectj-maven-plugin/weaveJars.htmlを参照してください。

于 2012-03-27T01:49:14.700 に答える