Ubuntu16.04安装ptotobuf&Java Demo
来源:互联网 发布:淘宝母婴用品批发 编辑:程序博客网 时间:2024/06/07 23:54
protobuf 安装
下载protobuf 源码,可以选择不同的版本本人选择的3.3.0版本
https://github.com/google/protobuf/releases/tag/
解压文件,并进入protobuf目录,会发现autogen.sh文件。
执行./autogen.sh
生成configure文件
如果出现错误信息可能是因为缺少C++ lib包导致,则进行相关的错误信息查询和安装即可。
之后分别执行以下命令进行安装
./configure./make./make check./make install
注意:configure 时可以指定安装位置,若没有指明,默认安装在/usr/local/lib下面。
安装完成之后,进行检查
protoc --version
若出现proto版本号则安装成功!
Java demo
idea 建立maven工程
pom.xml
<dependencies> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.3.0</version> </dependency> </dependencies>
MessageProto.proto文件内容
package proto;option java_package="com.protobuf.bean";option java_outer_classname="MessageProto";message Message{ required int64 id =1; required string title=2; required string content=3; enum Type{ SUPER=0; COMMON=1; } required Type type=4;}
生成java文件
protoc --java_out=../java/ ./MessageProto.proto
–java_out=../java/ 代表生成的java文件所放位置
后面的路径是proto文件位置
更多protoc命令请自行网上查询。
测试类
将生成的代码拷贝进工程,编写测试main函数
import com.protobuf.bean.MessageProto;/** * Created by hadoop on 17-7-15. */public class MessageProtoTest { public static void main(String[]args){ MessageProto.Message.Builder builder = MessageProto.Message.newBuilder(); builder.setContent("message content ...."); builder.setId(1001); builder.setTitle("title 1"); builder.setType(MessageProto.Message.Type.SUPER); System.out.println("original message is : "+builder.build()); byte[]data = builder.build().toByteArray(); try{ MessageProto.Message cloneMes = MessageProto.Message.parseFrom(data); System.out.println("clone message is : "+cloneMes); }catch (Exception e){ e.printStackTrace(); } }}
输出结果如下:
original message is : id: 1001title: "title 1"content: "message content ...."type: SUPERclone message is : id: 1001title: "title 1"content: "message content ...."type: SUPERProcess finished with exit code 0
阅读全文
0 0
- Ubuntu16.04安装ptotobuf&Java Demo
- Ubuntu16.04安装java
- Ubuntu16.04安装java
- Ubuntu16.04 安装 java
- ptotobuf grpc java端通信
- Ubuntu16安装java
- Ubuntu16.04编译tensorflow官方Android demo
- Ubuntu16.0.4安装Java环境
- Ubuntu16.04安装chrome
- Ubuntu16.04安装Atom
- ubuntu16.04安装KDE
- ubuntu16.04安装Oracle_linux_x64_11gR2
- ubuntu16.04 安装 eclipse
- Ubuntu16.04kylin 安装
- Ubuntu16.04安装JDK7
- Ubuntu16.04安装phpmyadmin
- ubuntu16.04安装atom
- ubuntu16.04安装oracle11g
- Qt 执行CMD命令
- 算法题:二叉搜索树与双向链表
- new与delete的运算符重载函数,实现了内存池,节点的申请与开辟
- onsubmit校验表单时利用ajax的return false无效解决方法
- Foreign Exchange UVA
- Ubuntu16.04安装ptotobuf&Java Demo
- 机器学习中理解算法的归纳偏置(偏好)
- JavaScript中逻辑运算符、位运算符以及简单数据类型转换的问题
- 带花树算法--一般图最大匹配
- web前端工程师----网页布局
- 数据集无损处理
- 如何彻底卸载删除JDK
- UBOOT
- Lua学习-类型与变量