2

@Getter などのすべての注釈を見つけて、割り当てられたフィールドの実際の getter ステートメントに置き換えることができるように、ビルド前の Java プロジェクトを処理できるようにしたいと考えています。

@Getter String s = "string";

私は基本的に「Project Lombok」が行うことをやりたいと思っていますが、自分のニーズに合わせて学び、単純化するために、自分でやりたいと思っています。

問題は、まあ、どこから始めればいいのかわからないということです。私は検索しましたが、何の役にも立たず、自分自身も試してみましたが、運がありませんでした。Eclipseビルドで実行したいので、jarは自動的に正しいです。また、注釈をJavaファイルに挿入してもエラーとして表示されないように作成したいと思います。これは、依存関係でこれを修正できると想定しています。

経験上、私はアノテーションの使用方法と作成方法を知っていますが、メタデータを保存するためだけであり、プレースホルダーとしては使用されていません。

これに役立つヒントやリソースを知っている場合は、大いに感謝します。

PS 私はすでに Project Lombok のソース コードを調べました。

4

3 に答える 3

0

カスタム注釈プロセッサを作成する必要があります。

基本的に、最終的なコンパイル手順の前に、注釈を検索し、結果のクラス ファイルにカスタム コードを追加します。

プロセッサはjavax.annotation.processing.Processor、注釈を処理するために実装する必要があります。以前に NetBeans でこれを行ったことがあり、数年前の優れた記事http://deors.wordpress.com/2011/10/08/annotation-processors/をガイドとして使用しました。

幸運を!

于 2014-05-14T19:40:02.427 に答える