idea使用Protobuf插件

Posted 微创智云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea使用Protobuf插件相关的知识,希望对你有一定的参考价值。

1.protobuf简介

  Protobuf是一个灵活的、高效的用于序列化数据的协议。相比较XML和JSON格式,protobuf更小、更快、更便捷。Protobuf是跨语言的,并且自带了一个编译器(protoc),只需要用它进行编译,可以编译成Java、python、C++等代码,然后就可以直接使用,不需要再写其他代码,自带有解析的代码。一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一。

2.安装插件

  在idea里安装插件Protobuf Support

3.配置

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

<extensions>

   <extension>

       <groupId>kr.motd.maven</groupId>

       <artifactId>os-maven-plugin</artifactId>

       <version>1.5.0.Final</version>

   </extension>

</extensions>

<!--protobuf插件-->

<plugin>   <groupId>org.xolstice.maven.plugins</groupId>   <artifactId>protobuf-maven-plugin</artifactId>   <version>0.5.1</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>

4.创建proto文件

syntax = "proto3";

option java_package = "com.ynt.ai.activemq.protobuf";

option java_outer_classname = "PersonModel";

message Person {

   int32 id = 1;

   string name = 2;

   string email = 3;

}

5.生成java对象文件

  通过Protobuf插件的compile命令,如下图所示,自动生成对象文件。

以上是关于idea使用Protobuf插件的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA中使用Protobuf的正确姿势

idea插件开发从0入门idea插件开发,idea插件开发教程,如何开发idea插件

idea日志插件的安装与使用

idea使用Maven Helper插件排除依赖冲突

IDEA使用有道翻译插件

idea安装中文插件