protoc 编译工具
在进行开发 protoc 之前,你需要首先在你的计算机中安装 protoc 编译工具。
下载编译工具
进入 Protocol Buffers 的源代码中然后选择发布的版本中,找到对应的版本。项目的链接地址为:https://github.com/protocolbuffers/protobuf/releases
然后选择 https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protoc-3.9.0-win64.zip,对应的版本进行下载。
请注意,如果你这里下载了 3.9.0 的版本的,那么在项目的 Gradle 文件也需要对应的 3.9.0 版本。
请下载对应的版本。

设置环境变量
在下载程序后,需要将下载 zip 文件中的 bin 目录设置到环境变量中。
然后运行 protoc --version 来确定你的编译运行版本已经被正确配置。
通过下图,可以查看配置的文件夹。

通过运行 protoc --version 来确定已经配置正确和编译器版本。

转换 Java 对象
假设我们有一个 proto 文件命名为:simple.proto
simple.proto 的代码在 https://github.com/cwiki-us-demo/protocol-buffers-demo-java/blob/master/src/main/proto/simple.proto 页面中可以访问到。
你可以 Clone 项目到本地后进行执行。
你可以通过运行下面的命令来将 simple.proto 文件为基础生成一个 Java 对象
protoc --proto_path=src --java_out=src/main/java src/main/proto/simple.proto |
生成结果如果正常的话,应该是没有输出的。

然后你访问特定的文件夹后就可以看到生成的 Java 对象。
生成的文件的路径和文件在 com.insight.demo.protocolbuffers.mode 这个包中。
请注意,你不能对手动对这个文件进行编译,这个文件都应该是通过程序自动生成的。

GitHub 示例源代码
本教程中的所有源代码都可以在 GitHub 中的 https://github.com/cwiki-us-demo/protocol-buffers-demo-java 项目访问到。
你可以 Clone 代码到你本地后进行运行测试。
protoc 编译工具的更多相关文章
- koala预编译工具的使用
Koala是一个开源的预处理语言图形编译工具,目前已支持Less.Sass.Compass与CoffeeScript. 安装Koala 在Koala官网根据你的系统平台下载对应的版本.Linux系统要 ...
- apk反编译工具
反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...
- less及编译工具介绍
什么是LESSCSS LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编写和维护. LE ...
- eclipse安装反编译工具
身为一名程序员来说,日常最常做的就是编写代码和查看别人写好的源代码了,有时候打开别人写的class文件发现根本不是自己想要的,所以给大家介绍一种eclipse中反编译class文件的工具. 第一步:下 ...
- Koala – 开源的前端预处理器语言图形编译工具
koala 是一个前端预处理器语言图形编译工具,支持 Less.Sass.Compass.CoffeeScript,帮助 Web 开发者更高效地使用它们进行开发.跨平台运行,完美兼容 Windows. ...
- .net混淆、反编译工具调查
常用的工具列表[比较常见的] 混淆器.加密 Dotfuscator VS默认带的工具,不过是个社区版 强度不大 dotNET Reactor 使用了NativeCode 和混淆的形式 Xenocode ...
- Android反编译工具的使用-Android Killer
今天百度搜索“Android反编译”搜索出来的结果大多数都是比较传统的教程.刚接触反编译的时候,我也是从这些教程慢慢学起的.在后来的学习过程中,我接触到比较方便操作的Android反编译.在这,我将使 ...
- iOS系统提供开发环境下命令行编译工具:xcodebuild
iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...
- Less/Sass编译工具,koala使用指南
如果你正在使用sass.less或coffee,而没有注意到koala, 那说明你可能已经好久没有更新你的知识库了.koala这个由国人编写的,用于编译sass.less.coffee利器,在最近的短 ...
随机推荐
- 2019.11.9 csp-s 考前模拟
2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...
- myBatis+Spring+SpringMVC框架面试题整理
myBatis+Spring+SpringMVC框架面试题整理(一) 2018年09月06日 13:36:01 新新许愿树 阅读数 14034更多 分类专栏: SSM 版权声明:本文为博主原创文章 ...
- IDEA导入Eclipse 非Maven的Web项目
- LintCode 53---翻转字符串中的单词
public class Solution { /* * @param s: A string * @return: A string */ public static String reverseW ...
- java web实现同一账号在不同浏览器不能同时登录
网上看了很多方法,个人也看了,自己也总结了几个比较常用的: 前提都是用session监听器,对session的创建与销毁进行监听 一.在用户登录时保存该用户的状态有这几种保存方式: 1.保存到内存中( ...
- 爆路径写后门拿shell的一些姿势
[PhpMyAdmin后台拿Shell]CREATE TABLE `mysql`.`xiaoma` (`xiaoma1` TEXT NOT NULL );INSERT INTO `mysql`.`xi ...
- WooyunWifi路由器
WooyunWifi 初始化配置 为了开始使用您的WooyunWifi路由器,您需要对WooyunWifi进行初始化配置,这些配置主要位于Openwrt Luci管理界面中,如果您对Openwrt路由 ...
- centos7.2升级openssh7.9p1
Centos7.2版本yum升级openssh版本最高到7.4,想要升级到更高的版本需要重新编译 一.查看当前openssh版本: [root@localhost ~]# ssh -VOpenSSH_ ...
- 标准C语言(6)
数组名称不可以代表任何存储区(数组名称不可以被赋值),数组名称可以代表数组里第一个存储区的地址 /* * 数组练习 * */ #include <stdio.h> #include < ...
- 设置ecShop网店用户名和email均可登录
修改user.php文件,如果您网站的该文件修改过,按照下面的修改说明修改文件. 查找代码:elseif ($action == 'act_login') 在:$back_act = isset($_ ...