官网看文档:gRPC如何生成代码
https://www.grpc.io/docs/languages/java/generated-code/
- 使用idea创建gradle空项目。
- 添加gradle配置,看这里:https://www.grpc.io/docs/languages/java/generated-code/#codegen
- 添加proto文件到src/main/proto目录下
- 运行task中generateProto项目,代码自动生成到目录build/generated/source下。运行build也可以生成,但是会报错。
相关图片:
其他,调整代码生成目录,自动清理生成代码等详细配置参考
https://github.com/google/protobuf-gradle-plugin
generatedFilesBaseDir = "$projectDir/gen"
clean {
delete protobuf.generatedFilesBaseDir
}
下面是完整gradle配置代码,生成代码位于gen目录下
plugins {
id 'java'
id 'com.google.protobuf' version '0.8.14'
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
mavenCentral()
}
}
dependencies {
implementation 'com.google.protobuf:protobuf-gradle-plugin:0.8.0'
}
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:3.2.0"
}
plugins {
grpc {
artifact = 'io.grpc:protoc-gen-grpc-java:1.4.0'
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
}
generatedFilesBaseDir = "$projectDir/gen"
}
clean {
delete protobuf.generatedFilesBaseDir
}