2

私の目標は、特定のパッケージの Java クラスを「読み取り」、そのパッケージ内のクラスとそれらのクラス内のメソッドで Javadoc と注釈を (できれば同時に) 処理することです。maven-compiler-pluginソリューションは Java 6 または 7 で実装する必要があります。ビルド ツールは Maven 3 です2.5.1

私が理解しているように、javax.annotation.processingクラスの目的はこの種のことを行うことであり、この他のSO回答の行に沿ったJavaコードは私の目的のために機能するはずですが、実際に実行する方法の実際の詳細はまだです少しぼやけています。

そうは言っても、ここに私が必要だと思うものがあります:

  1. 必要な注釈と Javadoc 項目を選択し、それらの項目をカスタム ドキュメントの作成に必要なデータ モデルに変換する Java コード。
  2. このデータ モデルをドキュメント ファイルまたはファイルのディレクトリに書き出すための Java コード
  3. Maven 3 の構成:
    1. アノテーション プロセッサを適切なタイミングで 1 回実行する
    2. 生成された docs ディレクトリを出力された war ファイルに含めます

Maven のビットは、Java コードよりも私をつまずかせるので、半分しか答えない場合は、その半分にチェック マークを付けます。また、このアノテーション プロセッサは、使用しているいくつかのカスタム アノテーションと非常に密接に結合されるため、別のプラグインとして Maven リポジトリに配置しないことをお勧めします。

これは、私自身の答えを合成することができなかった関連として見つけた質問の簡単なリストです。

4

1 に答える 1

0

注釈プロセッサから Javadoc にアクセスできるかどうかはわかりません。ドックレット API の使用を検討してください。

http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/doclet/overview.html

編集:

これが私が書いた注釈プロセッサです。多分それはサンプルとして役立つかもしれません:

http://softsmithy.hg.sourceforge.net/hgweb/softsmithy/lib/main-golden/file/ae786193023d/softsmithy-lib-core/src/main/java/org/softsmithy/lib/util/impl/ServiceProviderAnnotationProcessor.ジャワ

http://softsmithy.hg.sourceforge.net/hgweb/softsmithy/lib/main-golden/file/ae786193023d/softsmithy-lib-core/pom.xml

http://softsmithy.hg.sourceforge.net/hgweb/softsmithy/softsmithy-parent/main-golden/file/9397853ba514/pom.xml

Mavenの場合:私が覚えている限り、注釈プロセッサを含むプロジェクトで-proc:noneコンパイラ引数(コンパイラプラグイン)として渡す必要があります。そのプロジェクトでは、次のリソース ファイルも追加します。最初の行に注釈プロセッサの完全修飾名を追加します。META-INF/services/javax.annotation.processing.Processor

通常、アノテーション、アノテーション プロセッサ、およびこの「サービス レジストリ ファイル」を同じプロジェクト A にパッケージ化します。次に、アノテーションを使用していて、このプロジェクト A に依存している他のプロジェクト B では、アノテーション プロセッサが選択されます。自動的にアップします。

Maven Compiler Plugin v2.3.2 と Java SE 7 を使用しています。

于 2012-09-28T14:38:15.370 に答える