GradleプロジェクトのためにEclipseからIntelliJに切り替えました。プロジェクトの構造は次のようになります。
root
├── generated_src [main] (generated sources root)
├── generated_testSrc [tests] (generated test sources root)
├── out
│ └── production
│ ├── classes
│ └── resources
└── src
└── main
└── java (sources root)
IntelliJは、gradle構成に基づいて次のような3つのモジュールを作成しました。
my_project (containing everything, but nothing marked as Sources)
my_project_main (containing generated_src, marked as Sources)
my_project_test (containing generated_testSrc, marked as Tests)
アノテーションプロセッサは、generate_srcフォルダーにクラスを生成するために使用され、次のようなクラスになります。
generated_src [main] (generated sources root)
└── path.to.entities
└── MyEntity_.java
out
└── production
└── classes
└── path.to.entities
└── MyEntity.java
生成されたクラスのすべての使用法は、ワイルドカード構文を使用してインポートされます。しかし、IntelliJは、インポートがout / production / classesフォルダーからのパッケージを参照していると考えており、生成されたクラスはインポートされていないようです。それは私にそれをインポートして生成するオプションを与えます:
import path.to.entities.*;
import path.to.entities.MyEntity_; <--WARNING: not used, remove?
生成されたクラスをインポートすると、パッケージはすでにワイルドカード構文でインポートされているため、インポートは未使用として表示されます。2番目のインポートを削除すると、MyEntity_がインポートされていない元の状態に戻ります。
私が試してみました:
生成されたクラスを正しくインポートするために、プロジェクトを正しく設定するにはどうすればよいですか?
アノテーションプロセッサの次の設定を更新することで問題を修正しました
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加