Google の AutoFactory の注釈プロセッサを使用しています。同じモジュール内の別の場所で注釈を付けSomeClassて@AutoFactory参照しました。new SomeClassFactory().create()
Maven 構成:
Maven に必要な依存関係を追加しました。
<dependency>
<groupId>com.google.auto.factory</groupId>
<artifactId>auto-factory</artifactId>
<version>1.0-beta2</version>
<optional>true</optional>
</dependency>
実行すると、$ mvn clean compileそれtarget/generated-sources/annotions/somepackage/SomeClassFactoryが作成され、モジュールがエラーなしでコンパイルされることがわかります。
IntelliJ 構成:
Reimport all maven modulesPreferences->Annotation Processors->Enable annotation processingRebuild Project
v14.1.4私の理解が正しければ、私のバージョンの IDEA ( ) ではこれで十分なはずです。
次の手順も実行しました。
generated-sourcesフォルダーがソースとして追加されていることを確認しましたProject Structure- Mavenプリファレンス
Generated sources foldersがに設定されていることを確認Detect automatically - リビルド時にソースが実際に生成されることを確認しました(
targetIntelliJによって生成されたことを確認するために、最初にフォルダーを削除しました) - @tilpner
Exclude output pathsの提案に従って、プロジェクト構造で無効にしてみてください - キャッシュを無効にして再起動する
.ideaフォルダと.imlファイルを削除するPhase to be used for folders updateinPreferences->Maven->のさまざまな設定を試してくださいImporting
問題:
これらのすべての手順を実行した後、生成されたクラスはプロジェクト エクスプローラーに表示されません。実際、targetディレクトリ全体はどこにもありません。コンパイルは失敗しcannot find symbol: SomeClassFactory
、new SomeClassFactory().create()エディターで赤でマークされますが、Maven は問題なく生成およびコンパイルします。
私には選択肢がありません。助けや提案があれば大歓迎です!
更新:コンパイル エラーの原因となったコードにコメントを付けると、IntelliJ はコンパイル メッセージに次の警告を出力します。Warning:Output path /Users/.../target/generated-sources/annotations intersects with a source root. Only files that were created by build will be cleaned.

