您现在的位置是:首页 > 文章详情

Proto3的在IDEA+Gradle项目集成

日期:2020-03-20点击:624

前文介绍了在Android环境中集成,因为需要对序列化数据文件进行反序列化,所以需要一个java脚本,因此才有了此文,基于IDEA+Gradle集成proto网上也有很简便介绍,直接在IDEA中添加proto插件即可,但怕有版本问题,影响后面反序列化,白折腾,故想自己添加,下面都介绍

一、添加IDEA插件方式集成

在IDEA中依次点击"File"-->"Settings"-->"Plugins"-->"Browse repositories"后,输入Protobuf,找到Protobuf Support后安装重启IDEA即可,*.proto文件将会支持高亮语法显示,此方法网上案例很多,不过多介绍

可参考:https://www.cnblogs.com/liugh/p/7505533.html

二、手动添加版本集成

1. 新建Gradle项目

以正常方式在IDEA新建一个Gradle项目即可

2. 项目build.gradle配置

buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } plugins { id 'java' } apply plugin: 'application' apply plugin: 'com.google.protobuf' group 'cn.starcart' version '1.0.1' sourceCompatibility = 1.8 mainClassName = 'cn.starcart.Main' sourceSets { main { java { srcDirs 'src/main/java', 'src/generated/main/java' } proto { srcDir 'src/main/proto' //指定.proto文件路径 } } } protobuf { protoc { artifact = 'com.google.protobuf:protoc:3.8.0' } generateProtoTasks { all().each { task -> task.builtins { java { option "lite" } } } } //生成目录 generatedFilesBaseDir = "$projectDir/src/generated" } repositories { mavenCentral() } tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile group: 'com.google.protobuf', name: 'protobuf-java', version: '3.8.0' }

3. 如上gradle文件配置,在src/main下增加proto目录,存放.proto文件

screenshot

4. build项目或者执行gradle的build任务即可在src目录下生成generated目录,对应proto文件生成java实体类

其他介绍

proto3语法定义:https://developers.google.com/protocol-buffers/docs/proto3
proto3和proto2的区别参考:http://www.cppblog.com/sunicdavy/archive/2016/01/25/212739.html

原文链接:https://yq.aliyun.com/articles/750872
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章