java注釈プロセッサを使用して実行されるいくつかのチェックがありますが、注釈のない型のチェックも行いたいと思います。注釈のないjava型の処理
例えば、私が@Responsible(name="xyz")
のような注釈を持っているとすれば、コンパイルプロセスにフックして注釈がすべてのトップレベルタイプに対して存在するように強制する最良の方法は何ですか?
私の現在の実装では、2つの注釈、予想される注釈とパッケージレベルの注釈を使用します。後者は、注釈が存在しなくても注釈プロセッサを「起動」するために使用されます。 起動アノテーションプロセッサの中で、ディスク上の&フィルタJavaファイル(コンパイラに渡された引数を使用)を検索して、処理するすべてのファイルを収集し、javaファイルがプロセッサの注釈付きタイプ取り扱い。誰かが注釈を指定せずに新しいファイルをコミットした場合、ビルドは失敗します。
「アノテーションなし」タイプを見つけるためのよりクリーンな方法はありませんか?
になってしまった
@Responsible
で注釈されたことを確認するために、 "*"プロセッサーと 'roundEnv.getRootElements()' –@MatthieuBROUILLARDはい、これはまさに上記の意味です。幸いにも、 'String#split'を使用してあなた自身がサブパッケージを取得するのを止めるものは何もありません:) – user1643723
" * "を使用していただきありがとうございました。 –