2 つの Maven プロジェクトがあります。
- 1 つ目は、アノテーション、アノテーション プロセッサ、およびプロバイダ構成ファイルを定義して、ServiceLoader API を介してアノテーション プロセッサをトリガーします。
- もう 1 つは最初のプロジェクトに依存し、いくつかのクラスとインターフェイスを定義します。そのうちの 1 つは、最初のプロジェクトで定義された注釈で注釈が付けられます。
mvn clean && mvn compileコンパイルが行われ、注釈処理が実行されることを確認するためだけに、(最初のプロジェクトをビルドしてインストールした後) で 2 番目のプロジェクトのビルドを呼び出します。期待どおりに動作します。単純な注釈プロセッサは、target/classes/ダミー データを含むディレクトリにリソース ファイルを生成するだけです。
を使用して情報を出力しようとするとprocessingEnv.getMessager().printMessage(...)、問題が発生し始めました。を使用Diagnostic.Kind.ERRORすると、予想どおり、ビルドが停止し、メッセージが出力されます。ただし、それ以外Kind(NOTEまたは などWARNING) では、メッセージは画面に書き込まれません。
私の環境に関するいくつかの情報:
Kubuntu 12.10
Linux 3.5.0-17-generic
Apache Maven 3.0.4 (r1232337; 2012-01-17 06:44:56-0200)
Java version: 1.7.0_09, vendor: Oracle Corporation
どこのバージョンも明示的に宣言していないmaven-compiler-pluginので、デフォルトのバージョン (2.3.2? わかりません) を使用しているに違いありません。
Kindこのセットアップですべてのメッセージの出力を有効にするにはどうすればよいですか? (つまり、maven を介して注釈プロセッサを起動する)