最近在做一个netty的项目,遇到了protocal协议的问题,下面分享一下个人在IDEA的Maven项目中使用protobuf插件的经验;

protobuf协议概览:

概览 | 什么是Protobuf,为什么要用它?(官方文档),

语言指南 (版本) | Protocol Buffers 文档 - ProtoBuf 文档

进入IDEA,File->settings->plugins->marketplace,搜索protobuf

安装以下三个插件:

可选:Protocal Buffers(用于编写),Protocal Highlight(用于高亮显示)

必选:Protocal Generator(用于自动生成)

在properties中配置其版本,我这里选用的是3.24.0,记住自己使用的版本即可;

    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <protobuf.version>3.24.0</protobuf.version>
    </properties>

 接着插入依赖:

            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
                <version>${protobuf.version}</version>
            </dependency>

然后还是建议到github上下载对应的版本,3.24.0对应的就是24.0;

官网链接:Releases · protocolbuffers/protobuf · GitHub

往下翻打开assets,我本人用的是win64系统;

下载后进行解压,解压完成后最好进行配置环境变量,也可以不配置;即将/bin目录位置加入到path下;

先新建环境变量PROTOCBUF_HOME,当然可以自己命名,这里配置这个变量也方便后面开发其他项目进行版本更换;

然后将%PROTOCBUF_HOME%/bin放到path下;

然后回到IDEA,Tools->Configure GenProtobuf

然后

最后直接去Generate all Protobufs即可,但是你得保证你的项目中有,proc文件;

最后生成效果:

如果你生成的类有注解方面或者类名上的报错,大概率是你下载的exe文件和pom文件中配置的版本不一致导致的:)

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐