在Eclipse中配置google protobuf(转)
2011-04-20 17:02 Terry_龙 阅读(12244) 评论(1) 编辑 收藏 举报官方文档
http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/javatutorial.html
http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/reference/java/index.html
http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/proto.html
http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/reference/java-generated.html
http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/encoding.html
1. 下载:
http://code.google.com/p/protobuf/downloads/list
2.解压文件到:
D:\Java\protoc
将descriptor.proto生成java 代码,
D:\Java\protoc>protoc.exe -h
D:\Java\protoc>protoc.exe –java_out=./ D:\Java\protoc\protobuf-2.0.0beta\src\google\protobuf\descriptor.proto
/** 或者 **/
// 解压protoc-2.3.0-win32.zip,里面有个protoc.exe文件,配置到path
dos下执行:protoc --version 查看版本。
// 然后:D:\Java\protoc>protoc --java_out=. descriptor.proto
3.在Eclipse中新建java工程
工程路径在:E:\lizongbo\workspace\protobuf
复制D:\Java\protoc下生成的com目录到E:\lizongbo\workspace\protobuf\src
复制D:\Java\protoc\protobuf-2.0.0beta\java\src\main\java下的com目录到E:\lizongbo\workspace\protobuf\src
4.定义一个proto文件
参考:http://code.google.com/apis/protocolbuffers/docs/proto.html
qquser.txt内容如下:
option java_package = “com.lizongbo.beans”;
option java_outer_classname = “QQUserProtos”;
message QQUser {
required int32 uin = 1 [default = 10000];
required string nick = 2 [default = "n"];
required int32 age = 3 [default = 20];
required int32 faceId = 4 [default = 0];
}
5.生成java代码:protoc.exe –java_out=./ qquser.txt
// protoc --java_out=. qquser.txt
6.测试代码:
package com.lizongbo.beans;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
QQUserProtos.QQUser.Builder builder = QQUserProtos.QQUser.newBuilder();
builder.setAge(30);
builder.setFaceId(2);
builder.setNick(“lizongbo”);
builder.setUin(10000);
QQUserProtos.QQUser user = builder.build();
System.out.println(user.toString());
System.out.println(user.toByteString().toStringUtf8());
}
}
7.例子可以使用了。
![]() |
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!