動機:
コンパイル時の注釈処理が私の問題に合うかどうか試してみたいと思います。そのままで動作する必要があり、コンパイラの引数などは必要ありません。
現在の状態:
私は持っている:
- 注釈
- 注釈プロセッサ
- これらの両方を含む .jar と、META-INF/services にプロセッサのFQCNを含む javax.annotation.processing.Processor ファイル
何が起こるべきか:
- プロセッサを自動検出する必要があります
- 注釈を処理し、新しいクラスを作成する必要があります (WiredAnnotated)
- このクラスをコンパイルの 1 つのステップで使用できるはずです (複数のフェーズではありません)。
- このクラスが生成されたことをエディターに受け入れてほしくない (たとえば、 AndroidAnnotationsもこれを管理する)
実際に何が起こるか:
- プロセッサを自動検出します
- 新しいクラスを作成します (in out/production/*/generated/)
- 私はこのクラスを使用することができます
- ソースコードは正しく見えます
- 逆コンパイルすると、それも問題ないように見えます
- エディターはクラスを解決できません (スクリーンショットを参照)
私が試したこと:
- IntelliJ の再起動
- キャッシュの無効化
- 注釈プロセッサの出力を確認しています
スクリーンショット:
コンパイルすると、実際に期待どおりに動作します。間違ったディレクトリの検査と関係があると思います。
私が間違っていることについて誰かが考え/手がかりを持っていますか? あなたが私を助けるのに役立つ情報を見逃しましたか?
前もってありがとう、ティル