新项目需要使用google protobuf 生成java代码
开始第一步,网上很多教程都说下载protobuf support插件,但是我下载了很多idea版本,就是找不到这个protobuf support 插件
在idea 中选择file ->settings ->plugin , 搜索protobuf,一般都是有以下几个选项:
这里,我选择下载
protobuf generate 、-------- 生成的插件
protobuf highlighted、--------语法高亮
Protocol Buffers ----------语法支持
盲猜protobuf support 是上面几个插件的集成,因为我一直搜不到,所以就没试过使用protobuf support ,但是要生成代码,用上面三个插件就够了。
第二步:上面的插件装完重启后,新建一个maven项目,打开IDEA,选择“New Project”,选择Maven,选择Java版本,然后填写项目信息,创建一个新的Maven项目。
第三步,在pom.xml文件引入以下依赖:
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>1.34.1</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.34.1</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.34.1</version>
</dependency>
这些依赖将帮助我们引入gRPC和protobuf库。
第四步,编写.proto文件
在项目的src/main/proto目录下创建一个名为helloworld.proto的文件,内容如下:
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.example.grpc";
option java_outer_classname = "HelloWorldProto";
package helloworld;
message HelloRequest {
string name = 1;
}
message HelloResponse {
string message = 1;
}
service HelloService {
rpc sayHello(HelloRequest) returns (HelloResponse);
}
该文件定义了一个HelloWorld服务和两个请求和响应消息。
第五步:下载protoc.exe编译器
下载地址:Releases · protocolbuffers/protobuf · GitHub
下载完后解压,然后配置环境变量:PROTOCBUF_HOME
然后再在系统变量的PATH下面,增加: %PROTOCBUF_HOME%\bin
然后打开命令提示符: 输入protoc,
弹出上面的提示,说明成功了
第六步:生成java代码
idea -> tools–>configure genprotobuf
a).配置protoc path(指定第五步解压后的protoc可执行文件路径),
b).Quick Gen: 选择java
c).输出路径:勾选java,并指定protoc生成的java文件需要存放的路径
开始生成java客户端文件
点击: tools–>Generate all Protobufs
成功生成以下代码: