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 modules
Preferences
->Annotation Processors
->Enable annotation processing
Rebuild Project
v14.1.4
私の理解が正しければ、私のバージョンの IDEA ( ) ではこれで十分なはずです。
次の手順も実行しました。
generated-sources
フォルダーがソースとして追加されていることを確認しましたProject Structure
- Mavenプリファレンス
Generated sources folders
がに設定されていることを確認Detect automatically
- リビルド時にソースが実際に生成されることを確認しました(
target
IntelliJによって生成されたことを確認するために、最初にフォルダーを削除しました) - @tilpner
Exclude output paths
の提案に従って、プロジェクト構造で無効にしてみてください - キャッシュを無効にして再起動する
.idea
フォルダと.iml
ファイルを削除するPhase to be used for folders update
inPreferences
->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.