官网看文档: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也可以生成,但是会报错。

相关图片:

使用gradle方式生成gRPC的Java代码,项目的搭建流程记录_sed


其他,调整代码生成目录,自动清理生成代码等详细配置参考

​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
}