Sas*_*ota 5 java intellij-idea gradle proto grpc
我有一个带有模块的 Gradle 项目。moduleA仅包含 protobuf 文件并生成一个 jar 文件,其中包含从.proto文件生成的类。moduleB取决于moduleA(implementation project(':moduleA'))。
moduleA\n\xe2\x94\x82 build.gradle\n\xe2\x94\x82 src\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80main\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80proto <-- proto file defining gRPC services\nmoduleB\n\xe2\x94\x82 build.gradle\n\xe2\x94\x82 src <-- code dependent on classes generated from moduleA\nbuild.gradle\nRun Code Online (Sandbox Code Playgroud)\n如果我从 Gradle 构建/运行该项目,则该项目运行良好。
\n问题:moduleA IntelliJ IDEA 看不到从的源中生成的类moduleB(导入为红色)。
问题:如何让 IntelliJ IDEA 正确识别从.proto文件构建的类?
我使用的是 IntelliJ IDEA 2020.2.4(终极版)。
\n为了让 IDE 解析类并从依赖模块导入,这些类应该存在,并且它们必须位于依赖模块的源目录中。看起来这些类生成到一个 IDE 无法识别为源目录的目录中。尝试添加此生成的目录作为 Gradle 源集。在 moduleA 的 Gradel 构建文件中添加:
sourceSets {
main {
java {
srcDirs = ['build/generated/source/proto/main/java']
}
}
}
Run Code Online (Sandbox Code Playgroud)
where 'build/generated/source/proto/main/java'- 生成源的目录。
IntelliJ IDEA 存在一个相关问题:IDEA-209418。
| 归档时间: |
|
| 查看次数: |
4651 次 |
| 最近记录: |