Intellij IDEA中使用Protobuf的正确姿势

一、.proto文件语法高亮显示
需要安装Protobuf Support插件
依次点击Intellij中的“File”-->"Settings"-->"Plugins"-->"Browse repositories",如下所示:
【Intellij IDEA中使用Protobuf的正确姿势】Intellij IDEA中使用Protobuf的正确姿势
文章图片

输入Protobuf,如下所示
Intellij IDEA中使用Protobuf的正确姿势
文章图片

安装完后,重启Intellij IDEA,查看.proto文件,会发现已经支持语法高亮显示。

二、将.proto文件转成Java类
一般的做法,是执行protoc命令,依次将.proto文件转成Java类:

protoc.exe -I=d:/tmp --java_out=d:/tmp d:/tmp/monitor_data.proto


不过gRPC官方推荐了一种更优雅的使用姿势,可以通过maven轻松搞定
2.1 pom.xml文件配置


1.6.1

3.3.0



Intellij IDEA中使用Protobuf的正确姿势
文章图片
io.grpc grpc-netty ${grpc.version} provided io.grpc grpc-protobuf ${grpc.version} provided io.grpc grpc-stub ${grpc.version} provided com.google.protobuf protobuf-java ${protobuf.version}

Intellij IDEA中使用Protobuf的正确姿势
文章图片

Intellij IDEA中使用Protobuf的正确姿势
文章图片
kr.motd.maven os-maven-plugin 1.5.0.Final org.xolstice.maven.plugins protobuf-maven-plugin 0.5.0 com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}grpc-javaio.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} compile compile-custom

Intellij IDEA中使用Protobuf的正确姿势
文章图片
2.2 编译生成Java类
使用maven的编译命令,即可在target中看到根据.proto文件生成的Java类,如下所示:
Intellij IDEA中使用Protobuf的正确姿势
文章图片


三、遇到的坑
1.打开.proto文件后,显示“File not found”提示,如下所示:
Intellij IDEA中使用Protobuf的正确姿势
文章图片

这种情况,一般是未设置.proto文件所在文件夹为源文件,可以进行如下设置:
在.proto文件所在的文件夹上右键,设置目录为源文件根目录,如下所示:
Intellij IDEA中使用Protobuf的正确姿势
文章图片

    推荐阅读