Thrift 0.2.0 Java 开发环境安装

简介: Thrift是一个跨语言的RPC实现. 是由Facebook公司开源出来的。非常好用。对于C++开发环境的安装相对简单,只要在安装包解压以后,按照README文件的说明安装即可。但是对于Java开发环境的安装,却没有什么说明。本文仅对Java开发环境的安装,做一些说明,供大家参考(本文假设您的JD.
+关注继续查看
Thrift是一个跨语言的RPC实现. 是由Facebook公司开源出来的。非常好用。对于C++开发环境的安装相对简单,只要在安装包解压以后,按照README文件的说明安装即可。但是对于Java开发环境的安装,却没有什么说明。本文仅对Java开发环境的安装,做一些说明,供大家参考(本文假设您的JDK已经安装好了)。

Thrift Java的编译需要Ant。而且使用了一个特殊的包slf4j。并且在使用ant编译thrit的过程中,还需要下载一些依赖的Java库。所以最好,安装的机器上是可以访问Internet的。否则会非常麻烦。建议安装Ant的最新版本,否则,可能编译会有些错误,导致无法编译。在这里,我取的是最新的1.8.2.

1.安装Ant
下载apache-ant-1.8.2-bin.tar.gz
解压apache-ant-1.8.2-bin.tar.gz到/usr/local
则在/usr/local下会出现一个目录apache-ant-1.8.2
设置环境变量ANT_HOME
ANT_HOME=/usr/local/apache-ant-1.8.2
把路径/usr/local/apache-ant-1.8.2加入到系统的环境变量PATH中.


2.安装slf4j
下载slf4j-1.6.1.tar.gz
解压slf4j-1.6.1.tar.gz到/usr/local下
则在/usr/local下会出现一个目录slf4j-1.6.1
在系统的环境变量CLASSPATH中增加/usr/local/src/slf4j-1.6.1/slf4j-api-1.6.1.jar和/usr/local/slf4j-1.6.1/slf4j-simple-1.6.1.jar。我的CLASSPATH的内容如下:
./:/usr/local/slf4j-1.6.1/slf4j-api-1.6.1.jar:/usr/local/slf4j-1.6.1/slf4j-simple-1.6.1.jar

3.Ant使用代理服务器的配置
我的服务器上不能直接访问Internet,需要配置让ant来使用代理连接internet(实际上是ant在启动时,传给java虚拟机的参数)。
如果你的机器不需要配置代理,可以直接连接internet,则可以跳过此步骤

ant使用代理,通过配置环境变量ANT_OPTS来实现,比如:
export ANT_OPTS="-Dhttp.proxyHost=192.168.0.105 -Dhttp.proxyPort=3128"
这样设置告诉ant,在连接internet时,使用代理服务器192.168.0.105, 端口3128

5.编译thrift
cd thrift-0.2.0/lib/java
ant
编译完成以后会在当前目录下出现一个libthrift.jar
把libthrift.jar拷贝到/usr/local/lib下(这个位置是因为在thrift的tutor中,java sample code的build.xml中指明了要在/usr/local/lib找到这个jar文件)。
然后把/usr/local/lib/libthrift.jar也加入到CLASSPATH中。

6.编译tutorial
cd thrift-0.2.0/tutorial
thrift -r --gen java tutorial.thrift
这个时候会产生与tutorial.thrift对应的Java源代码
cd java
ant

在编译的时候,如果java的版本比较新的话,可能会产生一些错误,例如,在我的机器上,就报一些语法错误,我的是java 1.6.0

在我的机器上报的错误,有case Operation.ADD错误,原因是在新版本的java中,case语句里面用枚举值的时候,不需要在枚举常量前写上类的名称,直接用ADD即可。

另外一个错误是不允许吧枚举值复制给一个int值,例如io.what = work.op。可以改为io.what = work.op.ordinal()。


编译完成以后,JavaServer.class和JavaClient.class都会生成在当前目录下的build目录里,要执行的话,要进入这个目录,先运行java JavaServer,然后在另外一个终端上运行java JavaClient, 则应该看到JavaClient成功显示响应。


转载自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=686647&id=2148711

目录
相关文章
|
6天前
|
JavaScript Java 关系型数据库
基于微服务、Java、Springcloud、Vue、MySQL开发的智慧工地管理系统源码
基于微服务、Java、Springcloud、Vue、MySQL开发的智慧工地管理系统源码
22 0
|
7天前
|
存储 前端开发 JavaScript
java医院电子病历系统源码:云端SaaS服务 前后端分离模式开发和部署
java医院电子病历系统源码:云端SaaS服务 前后端分离模式开发和部署
28 0
|
7天前
|
存储 前端开发 JavaScript
前后端分离模式开发的BS电子病历编辑器源码(Java)
前后端分离模式开发的BS电子病历编辑器源码(Java)
25 0
|
22天前
|
前端开发 Java 数据库连接
学习Java Web开发的关键技术和概念
学习Java Web开发的关键技术和概念
|
22天前
|
前端开发 IDE Java
用SpringBoot开发java程序笔记
用SpringBoot开发一个简单的java程序,让你轻松体验Java应用开发完整过程
27 1
|
24天前
|
SQL Java 数据库连接
一般文章让你了解mybatis,以及如今在Java开发的地位!
一般文章让你了解mybatis,以及如今在Java开发的地位!
|
28天前
|
存储 Java 数据库
Java反射机制开发经验总结
我在实际项目当中有经常用到反射机制,故而将学会的反射用法做一些汇总笔记,当做以后复盘所用。
28 0
|
29天前
|
人工智能 NoSQL Java
现在行情这么差?开发岗底薪不如销售?Java面试突击手册用不上了
图中红线标出了Java开发岗位的信息,如果这里的2500+是薪资的话,那么目前Java岗位的底薪已经低于营销和销售岗位了。这个现象似乎跟以往的情况还是有比较大的差距,现在开发岗的行情,已经这么差了吗?
|
1月前
|
Java Maven
Java开发必安装的插件Maven Helper
Java开发必安装的插件Maven Helper
18 0
|
1月前
|
消息中间件 移动开发 自然语言处理
Java开发必安装的插件Maven Helper
Maven 是一个非常流行和强大的 Java 项目管理工具,它可以帮助我们自动化地处理项目的构建、依赖、文档、测试、发布等各个环节。然而,Maven 项目中也经常会遇到一些依赖问题,比如依赖冲突、依赖缺失、依赖过多等,这些问题会影响项目的正常运行和性能。为了解决这些问题,我们需要一个能够分析和优化 Maven 项目依赖关系的工具,而这个工具就是 Maven Helper 插件。
24 0
相关产品
云迁移中心
推荐文章
更多