2016-04-02 11 views
0

CLASS保存ポリシーを使用してアノテーションを読み込むようにClassLoaderまたはJVMを設定する方法はありますか?そのため、リフレクションを使用してアクセスできますか?RetentionPolicy.CLASS Javaアノテーションにアクセスするにはどうすればよいですか?

これは、hereのように、コンパイル時の後処理に便利です。 antlib.xmlファイルを自動的に生成するために、いくつかのクラスに注釈を付けます。私の注釈がCLASSの保持ポリシーを持つことができるので、ランタイムの依存関係が作成されないようにすることをお勧めします。

答えて

1

javacは、-processorオプションを使用して、ソースおよびクラスレベルの注釈を処理できます。 javax.annotation.processing.AbstractProcessorを参照してください。 (java 1.6以降)。

私は、.javaファイルのコンパイル時にこのファイルを使用し始めました。明らかに、.class入力ファイルでCLASSアノテーションを処理するためにも使用できます。私はantをコンパイルに使用しているので、これを試していません。antは.classファイルをコンパイラに渡すように見えません。

プロジェクトのすべての注釈を処理するには、完全にコンパイルする必要があります。

0

this tutorialをご覧になることをお勧めします。

独自のアノテーションプロセッサを作成する方法と、それを使用してコードを生成する方法について説明します。しかし、バイトコードの操作は扱えません。

また、彼はYouTubeで利用可能なプレゼンテーションを行った。あなたが読むのが面倒すぎる場合は... ;-)

関連する問題