5

ゴール

私は 3.7 環境を対象とする Eclipse プラグインを構築しています。プラグインにもあるコードに関するアドバイスを提供するアスペクトをプラグインに含めたいと考えています。

設定

私は、3.4 と 3.7 の明らかな違いを考慮して、できる限りこれらのガイドラインの精神に従うように努めてきました: http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start. php

これが私がこれまでに持っているものです:

  1. アスペクトといくつかのソースを含むプラグイン プロジェクト。
  2. プラグイン プロジェクトは AspectJ プロジェクトに変換され、これにより Eclipse がorg.aspectj.runtime (1.6.12)プラグインの依存関係に自動的に追加されます。
  3. org.aspectj.runtimeプラグイン構成の依存関係で「この依存関係を再エクスポートする」をチェックしました。
  4. META-INF ディレクトリのaop.xmlでアスペクトを定義しました。
  5. 私の MANIFEST.MF にはExport-Package、アスペクトが含まれているパッケージのエントリがあります。
  6. 私の実行構成には、次のプラグインと開始レベルが含まれています。
    • org.eclipse.equinox.weaving.aspectj(開始レベル 1)
    • org.eclipse.equinox.weaving.hook(デフォルトの開始レベルは 4)
    • org.aspectj.runtime(開始レベル 1)
    • org.aspectj.weaver(開始レベル 1)

現在の結果

コンソールにこのような行が表示されますが、この処理は各クラスが初めてクラスロードされるときに発生するようです。

[com.my.traceeditor] info processing reweavable type com.my.util.ByteUtil: com\my\util\ByteUtil.java

アドバイスは適用されていません。ウィーバーが十分に早く織っていない可能性はありますか? 何をすべきか?

4

1 に答える 1

2

同じバンドルにのみ適用されるアスペクトを書いている場合、分点織りは必要ありません。クロスバンドル織り専用です。バンドルがコンパイル時のウィービングを使用していることを確認する限り、ウィービング プラグインへの依存を削除できます。

于 2012-06-19T19:25:22.503 に答える