私はこれまでに幅広く検索し、問題を解決するのに役立つものは何も見つかりませんでした。私は特定の機能を実装しようとしていると私はのPoCソリューションを作成しています、ここでの問題は、しかしです:Aspectjを使用して、1つのプロジェクトでコンパイル時の織りとJavaコンパイル時のアノテーション処理を実行する
それは時間がAspectJのを織り込みコンパイル時間の注釈プロセッサに
をコンパイル両方使用することを含むと私は考えていますそれらの両方の作業を同時に行う方法。
これまでは、aspectj-maven-pluginで* .ajファイルのAspectJアスペクトを使用していましたが、うまくいきました。 maven-compiler-pluginでアノテーション処理を追加しようとするとすぐに問題が起こりました:aspectj-maven-pluginによってコンパイル段階で生成されたターゲットディレクトリ内のweaveクラスがmaven-compiler-pluginによって上書きされましたそれがコンパイル段階で生成されたクラスによって生成されます。
[INFO] --- aspectj-maven-plugin:1.10:compile (default) @ demo ---
[INFO] Showing AJC message detail for messages of types: [error, warning, fail]
...and a list of all the Join Points and Intertypes done
しかし、その後のmaven-コンパイラプラグインが動作するようになり、すべてを再コンパイル(およびクラスを生成します。
コンソール出力は、第1 AspectJの-のmaven-pluginのはそれが仕事だし、すべてのクラスを編むことを言います)注釈プロセッサを有する:ここ
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ demo ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to dir\demo\target\classes
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:compile (compile-project) @ demo ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 19 source files to dir\demo\target\classes
はのpom.xmlの要部である:
別にアスペクトと注釈プロセッサの両方が問題なく動作するので、問題は発生していないと考えます。
私はプラグインの実行/フェーズで何かを混乱させているのでしょうか、それとも両方を使用する必要はないかもしれません。おそらくは適切に構成されていれば十分でしょうが、コンパイルとajcをどのように組み合わせてアノテーション・プロセッサを実行するのかは考えられません(そして、2つのフェーズではまず、アノテーション・プロセッサ自体をコンパイルしてからアノテーション処理を行うprocなし)。助けてください!