在idea工具下,使用protobuf自动生成java代码,超详细教程

这篇具有很好参考价值的文章主要介绍了在idea工具下,使用protobuf自动生成java代码,超详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新项目需要使用google protobuf 生成java代码

开始第一步,网上很多教程都说下载protobuf support插件,但是我下载了很多idea版本,就是找不到这个protobuf support 插件

在idea 中选择file ->settings ->plugin , 搜索protobuf,一般都是有以下几个选项:

idea配置protobuf,intellij-idea,java,ide

这里,我选择下载

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

idea配置protobuf,intellij-idea,java,ide

 然后再在系统变量的PATH下面,增加: %PROTOCBUF_HOME%\bin

idea配置protobuf,intellij-idea,java,ide

 文章来源地址https://www.toymoban.com/news/detail-599986.html

然后打开命令提示符: 输入protoc,

idea配置protobuf,intellij-idea,java,ide

  弹出上面的提示,说明成功了

第六步:生成java代码

idea -> tools–>configure genprotobuf
a).配置protoc path(指定第五步解压后的protoc可执行文件路径),
b).Quick Gen: 选择java
c).输出路径:勾选java,并指定protoc生成的java文件需要存放的路径

idea配置protobuf,intellij-idea,java,ide

 

开始生成java客户端文件

点击: tools–>Generate all Protobufs
idea配置protobuf,intellij-idea,java,ide

 

成功生成以下代码:

idea配置protobuf,intellij-idea,java,ide

 

到了这里,关于在idea工具下,使用protobuf自动生成java代码,超详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【IDEA】idea不自动生成target

    本文描述idea不生成target的几种情况以及处理方法 像下图这样根本就不生成target文件夹的,首先考虑环境问题。有没有把项目正确导入进idea、jdk有没有配置等原因 上图很明显模块p6spy显示的是普通文件夹而不是maven项目。 解决方法: 正确导入maven项目到idea(如果项目文件夹显

    2024年02月15日
    浏览(42)
  • IDEA—自动生成 serialVersionUID 的设置

            在使用Java原生序列化的时候,serialVersionUID是序列化版本号ID,保证序列化的类和反序列化的类是同一个类,在反序列化的时候判断serialVersionUID如果不相同,会抛出InvalidClassException。 网上的一般教程 点击idea左上角File - Settings - Editor - Inspections - 搜索 Serialization i

    2024年02月15日
    浏览(40)
  • IDEA优雅自动生成类注释和快捷键生成方法注释

    Preferences - Editor - File and Code Templates - Includes - File Header 注释模板: 查看IDEA自动配置java快捷键 Preferences - Editor - Live Template - java 手动新增添加Group 描述:如下图,我手动添加了 MyGroup 分组 字段注释 操作步骤如下 添加 Live Template 添加 Abbreviation (快捷键)和 Description (描述)

    2024年02月06日
    浏览(57)
  • IDEA插件-----Squaretest(自动生成单元测试)

    菜单栏就多了一项Squaretest 首先我们打开一个类,这个类就是我们即将要作为实验的类,这个类有7个public方法,因为Squaretest生成的单元测试方法都是只能生成public的,当然这也是合理的嘛!毕竟private的肯定被public调用了。 打开你的类,光标定位到代码里,右击鼠标选择Gen

    2024年02月11日
    浏览(38)
  • IDEA自动生成序列化ID

    涉及网络的传输对象需要序列化,也需要一个序列化ID,IDEA可以设置自动生成ID,配置如下 1 Ctrl+Alt+s快捷键打开设置界面 2 选择Editor→Inspections,勾上serialVersionUID 3 每次实现序列化接口,可以鼠标点击类名,Alt+Enter快捷键导入序列化ID 4 生成ID结果 自己编一个UID也是可以的 作

    2023年04月09日
    浏览(41)
  • 如何在IDEA中自动生成类图

    笔者之前在OOPre课程中曾用IDEA来编写java代码,但是很多时候IDEA自带的功能并不能给出一个较为直观的关系图来显示一个项目中各个类(class)或接口(interface)等之间的关系。 在该课程最后一次作业要求所写博客中,我看到有同学在作业中附上了非常直观的类图,便也想试着探索

    2024年02月05日
    浏览(35)
  • IDEA懒人必备插件:自动生成单元测试!

    因为公司最近实施了代码质量控制指标,以评估各种项目的单元测试覆盖率和声纳扫描的各种问题。 许多旧项目和旧代码,或者需要匆忙交付的项目,都严重缺少单元测试,覆盖率不到20%。所以最近几天,几个小伙伴一直在疯狂地堆积单元测试。几个人把单元测试累积到50

    2024年02月03日
    浏览(41)
  • IntelliJ IDEA如何自动生成serialVersionUID

    IntelliJ IDEA如何自动生成serialVersionUID? 实体对象在流中传输时,需要将其序列化。 对象的类型实现Serializable接口 public class ClassName implements java.io.Serializable { } 生成版本号serialVersionUID 单击类名,按Alt + Enter,在出现的提示框中单击添加serialVersionUID的选项。 如果没有相关提示,

    2024年02月16日
    浏览(44)
  • 自动生成单元测试,IDEA必备插件.Squaretest

            很多老项目老代码,或者着急交付的项目,单元测试严重缺失,覆盖率只有5%不到,所以几个小伙伴这几天就在疯狂的堆单元测试,3个人堆了2天才堆到30%,于是我也来上手帮忙写了两个,写到第二个的时候就发现,这个活不应该是人干的,要去看原来的代码,然

    2024年02月16日
    浏览(42)
  • 一款自动生成单元测试的 IDEA 插件

      今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它? 主要因为最近公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率,以及sonar扫描出来的各种问题,很多老项目老代码,或者着急交付的项目,单元测试严重缺失,覆盖率只有

    2024年04月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包