2 Star 3 Fork 1

user_102660 / Thrift Test of Java and Objective-C

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Thrift Test of Java and Objective-C

README涉及内容:

  1. MAC上安装Thrift
  2. 使用java和oc对thrift进行测试

目录结构:

|-- TestMessage.thrift  // thrift测试schema文件
|-- gen-cocoa           // 通过TestMessage.thrift生成的oc class
|-- gen-java			// 通过TestMessage.thrift生成的java class
-- lib					// thrift java库和oc库
|   |-- cocoa			// oc库,需要加到xcode测试工程
|   `-- java			// java库, 需要加到eclipse测试工程
|-- testThriftJava		// java测试程序
`-- testoc2				// oc测试程序

MAC上安装Thrift

目前Thrift官方release版本是0.9.1。 但是直接从github上下载0.9.1在编译的时候会碰到各种问题。 所以我们选用brew安装:

 brew update
 brew install thrift

安装时可以看到除了下载0.9.1版本,还下载了一些patch。 在如下文件目录可以查看:

➜  ls /Library/Caches/Homebrew/thrift-*

测试

生成测试类

  1. 通过thrift定义语法定义一个简单的测试结构:
➜  studythrift git:(master) ✗ cat TestMessage.thrift 
struct TestMessage {
     1: string text,
     2: string date
}
  1. 通过TestMessage.thrift生成java和oc对象, 分别生成了gen-java和gen-cocoa文件夹
➜  studythrift git:(master) ✗ thrift --gen java TestMessage.thrift 
➜  studythrift git:(master) ✗ thrift --gen cocoa TestMessage.thrift
➜  studythrift git:(master) ✗ ls
TestMessage.thrift gen-cocoa          gen-java     

获得java和oc使用的thrift lib

  • 解压/Library/Caches/Homebrew/thrift-0.9.1.tar.gz
  • 在lib/java目录下运行ant,生成java所需要的所有jar包。
  • 在lib/cocoa里包含了oc的lib源文件, 暂时没有研究怎么把这些文件编译成dylib,测试程序中将直接拷贝这些文件到工程文件里。
  • java所需要的jar包已经整理到lib/java/thrift目录
  • oc需要的lib已经整理到lib/cocoa/thrift

构建java和oc测试程序

  1. 新建java工程,并且将lib/java/thrift里所有jar包添加到工程,并且从gen-java里拷贝TestMessage.java, 完整的测试程序可以在testThriftJava目录找到。
  2. 新建oc command line工程, 并添加lib/cocoa/thrift里的所有文件, 从gen-cocoa里拷贝TestMessage.h和TestMessage.m文件。为了测试程序import头文件方便,把xcode工程里always search user path属性改称yes。 完整的测试程序可以在testoc2目录找到。

空文件

简介

分别用java和oc测试thrift的序列化 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Objective-C
1
https://gitee.com/liminzju/Thrift-Test-of-Java-and-Objective-C.git
git@gitee.com:liminzju/Thrift-Test-of-Java-and-Objective-C.git
liminzju
Thrift-Test-of-Java-and-Objective-C
Thrift Test of Java and Objective-C
master

搜索帮助