この記事の内容は古くなりました。

  • JDK8 からは新しい API の Annotation Processor しか使えません。
  • 新しい API のサンプルは こちら からどうぞ。



以前作った setter/getter を自動生成するアノテーション
プロセッサを使って貰おうとしたら eclipse の設定ではまり
まくったのでログっとく。

* アノテーション プロセッサの生成



1. 標準のJavaプロジェクトを作る。

 アノテーション プロセッサのコードを書く。

2. tools.jar を「Javaのビルドパス」の「外部jarの追加」で追加する。
 ※tools.jar は JRE には無い。JDKのインストールが必要。




3. ソースパッケージに jar 用の設定ファイルを記述する。
 ファイル名:META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory
 内容は AnnotationProcessorFactory の実装クラス名。




4. コンパイルが通ったら「エクスポート」から「JARファイル」で出力する。





※「生成されたクラスをエクスポート」がチェックされている事。



* アノテーション プロセッサを使う



1. 標準のJavaプロジェクトを作る。

プロセッサ無しだとコンパイルエラーになるテストコード:




2. 「Javaのビルドパス」の「外部jarの追加」で上で作った jar を追加する。




3. 「Javaコンパイラー」/「注釈処理」で「プロジェクト固有の設定」を有効し「注釈処理を使用可能にする」を有効にする。




4. 「Javaコンパイラー」/「注釈処理」/「ファクトリーパス」の「外部jarの追加」で上で作った jar を追加する。




5. プロセッサを設定するとコンパイルエラーが無くなる。




以上で自前のアノテーション プロセッサが eclipse で使える用になる。


* サンプルのアーカイブです eclipse からインポートしてください。


  • apt-sample.zip
  • apt-test.zip

    関連記事:
  • Javaのアノテーションでsetter/getterを自動生成してみた
  • アノテーション+Velocityでソースコードの自動生成

    最近、java 使いで eclipse 無いと何にもでけん、って人多いよね。
    便利だけど設定やらプラグインが多すぎ。
    分からなくなるとどうにもならん。
    どうも好きになれんわ。