モジュールを備えたGradleプロジェクトがあります。moduleA
protobufファイルのみが含まれ、.proto
ファイルから生成されたクラスを含むjarファイルを生成します。()にmoduleB
依存します。moduleA
implementation project(':moduleA')
moduleA
│ build.gradle
│ src
│ └───main
│ └───proto <-- proto file defining gRPC services
moduleB
│ build.gradle
│ src <-- code dependent on classes generated from moduleA
build.gradle
Gradleからビルド/実行すると、プロジェクトはうまく機能します。
問題: IntelliJ IDEAはmoduleA
、のソースから生成されたクラスを認識しませんmoduleB
(インポートは赤です)。
質問: IntelliJ IDEAに.proto
ファイルから構築されたクラスを正しく認識させるにはどうすればよいですか?
IntelliJ IDEA 2020.2.4(Ultimate Edition)を使用しています。
IDEがクラスを解決し、依存モジュールからインポートするには、これらのクラスが存在し、依存モジュールのソースディレクトリに配置されている必要があります。クラスは、IDEによってソースディレクトリとして認識されないディレクトリに生成されているようです。この生成されたディレクトリをGradleソースセットとして追加してみてください。moduleAのGradelビルドファイルに以下を追加します。
sourceSets {
main {
java {
srcDirs = ['build/generated/source/proto/main/java']
}
}
}
どこ'build/generated/source/proto/main/java'
-ソースが生成されるディレクトリ。
IntelliJ IDEAに関連する問題があります:IDEA-209418。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加