Intellij IDEA中使用Protobuf
.proto文件语法高亮显示
需要安装Protobuf Support插件。
依次点击Intellij中的“File”、”Settings”、”Plugins”、”Browse repositories”,如下所示:
搜索Protobuf,如下所示:
安装完成,重启IDEA,查看.proto文件,支持语法高亮显示。
将.proto文件转成Java类
一般的做法,本地安装protobuf编译器,然后执行protoc命令,依次将.proto文件转成Java类:
protoc.exe --java_out=d:/tmp d:/tmp/monitor_data.proto // 或Linux操作 protoc --java_out=/zzs/tmp /zzs/tmp/monitor_data.proto
gRPC官方推荐了一种更优雅的使用姿势,可以通过maven轻松搞定。
pom.xml文件配置:
<properties> <grpc.version>1.6.1</grpc.version> <protobuf.version>3.3.0</protobuf.version> </properties>
<dependencies> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> <version>${grpc.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>${grpc.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>${grpc.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> </dependency> </dependencies>
<build> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>1.5.0.Final</version> </extension> </extensions> <plugins> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.5.0</version> <configuration> <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
编译生成Java类
在生成编译类之前,先准备好proto文件,并且proto文件要放置在src/main/proto目录下,否则执行编译命令会提示目录不存在。
编译完成之后,将生成的Java类复制到对应的目录即可。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2021/07/29/intellij-idea-protobuf/