thrift linux java,Apache Thrift环境配置

安装Thrift的官方文档地址:

当我看到windows安装需要Cygwin或MinGW时,我就直接放弃在windows中配置的想法了,直接打开虚拟机用CentOS进行安装,使用一堆命令安装毕竟比windows方便。

CentOS安装Thrift

官方文档地址:

基本上按照官方的操作,可以一直进行到最后一组命令,就是下面这个地方:

Build and Install the Apache Thrift IDL Compiler

git clone https://git-wip-us.apache.org/repos/asf/thrift.git

cd thrift

./bootstrap.sh

./configure –with-lua=no

make

sudo make install

这一步需要特别注意,有两种途径可以选择。

由于这里使用git下载了源码,因此你当前目录使用的最新版本,在2015-9-19号写这篇文档的时候,master下面是最新的1.0.0版本,这个版本还没有发布,因此我说提供两种途径:

使用git checkout 0.9.2切换到当前已经发布的0.9.2版本再继续

在当前master(未发布的1.0.0版本)上继续

注:用git下载源码比较费时间,最快的方式就是直接从官方下载指定版本的压缩包。

我个人由于是事后才发现的这个问题,因此我是在第二种情况下操作的。

我个人建议选择已经发布的稳定的版本进行操作。如果操作过程中出现错误,也许下面针对第二种情况的解决办法同样适用于第一种情况。

在当前master(未发布的1.0.0版本)上继续

由于我是直接按照官方文档的操作,在master的情况下执行了上面的命令,因此出现了一些错误。

在继续上面最后的这一部分操作前,你需要先安装一些必备的依赖。如果没有事先安装这些依赖,可能会出现下面这个错误:

make出现Error:TNonblockingServer.h:41:33: error: event2/event_compat.h ...

类似上面这样的错误,解决方法是从下面的地址:

下载libevent,我直接下载的最新版本libevent-2.0.22-stable.tar.gz,这个版本可以解决上面的问题,其他版本没有尝试。

安装完成后,如果你之前已经执行了make,那么建议你git gc清理目录。

然后再继续下面的操作:

./bootstrap.sh

./configure –with-lua=no

make

sudo make install

正常情况下应该就能顺利安装完成了(如果出错,你是否没有执行git gc?)。

打包1.0.0版本jar包

由于当前还没发布1.0.0版本,因此如果你使用0.9.2版本会有一些错误,所以还要自己手动打包。

进入thrift/lib/Java目录,你需要先配置好jdk和ant。然后在这个目录打开终端,执行ant命令。

执行成功后,在build目录下就能看到libthrift-1.0.0.jar和libthrift-1.0.0.pom文件。

这里需要手动修改libthrift-1.0.0.pom文件,将pom改为jar,这里如果不修改为jar,就没法通过下面的命令用最简单的方式导入本地仓库(安装打包类型为pom的时候不会上传jar包,所以要改成jar,但是官方的打包类型确实就是奇葩的pom,谁能解释为什么?)。

将这两个文件复制到你要使用的电脑上,然后使用如下命令安装到本地仓库:

mvn install:install-file -Dfile=libthrift-1.0.0.jar -DpomFile=libthrift-1.0.0.pom

安装到本地后,在maven中就可以使用:

org.apache.thrift

libthrift

1.0.0

到这里就可以开始使用thrift了。

总结

以上所述是小编给大家介绍的Apache Thrift环境配置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux流式访问日志,流式实时日志分析系统的实现原理

我们知道网站用户访问流量是不间断的,基于网站的访问日志,即 Web log 分析是典型的流式实时计算应用场景。比如百度统计,它可以做流量分析、来源分析、网站分析、转化分析。另外还有特定场景分析,比如安全分析,用来识别…

linux无法切换shell,linux shell的切换

查看系统可用shell种类:(一般是bash shell)➜ ~ chsh -l/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/zsh修改当前的shell:[rootGIT ~]# chsh -l/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/zsh[rootGIT ~]# chshChanging shell for root.New shell [/bin/bash]: /…

64位ubuntu arm-linux-gcc,在ubuntu 64位的机器上执行arm-linux-gcc提示 no such file or directory【转】...

解压好了arm-linuxg-gcc 放到了$PATH路径下, 无论怎么执行都提示说: no such file or directory,可明明有这个文件的.N遍之后, 执行了 file arm-Linux-gcc发现这个命令是32位的, 需要安装兼容包,于是apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386:ia32-libslibst…

c语言for循环26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include // 用srand、rand函数了#include // 用time函数了#define LEN 32// 产生min~max的随机数 (包含min和max)// rand函数产生0 ~ RAND_MAX 的随机数// 一般上不同编译器要求 RAND_MAX 的值(至少)为 32767#define RAN…

C语言case字句有什么作用,switch case 语句的使用规则

【规则1-21】按字母或数字顺序排列各条case语句。如果所有的case语句没有明显的重要性差别,那就按A-B-C或1-2-3等顺序排列case语句。这样做的话,你可以很容易的找到某条case语句。比如:switch(variable){case A://program codebreak;case B:/…

c语言怎样用格式化文件存储,如何用格式化的方式读写文件

对格式会来说,C语言的格式读写文件是很有要求的,在前面我们已经讲解了如何去进行字符的输入输出,但事实真相,数据的类型是很丰富的,而且大家已经熟悉了用printf和scanf函数进行格式化的输入输出,他们是向终…

输出26个英文字母c语言,菜鸟求助,写一个随机输出26个英文字母的程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include // 用srand、rand函数了#include // 用time函数了#define LEN 32// 产生min~max的随机数 (包含min和max)// rand函数产生0 ~ RAND_MAX 的随机数// 一般上不同编译器要求 RAND_MAX 的值(至少)为 32767#define RAN…

二阶矩阵乘法C语言,c语言矩阵相乘

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼程序清单#include&nbspint&nbspmain(void){&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspchar&nbsp&nbsp&nbsp&nbspa[2][3];&nbsp&nbsp&nbsp&nbsp&nbsp…

c语言dll创建线程,教大家写一个远程线程的DLL注入,其实还是蛮简单的……………………...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼然后新建一个win32 application 的工程 新建c source file 写入:#include#includeint WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){char DllName[MAX_PATH]"C:\\P…

linux下qq怎么截图,ubuntu 12.04使用QQ截图安装教程

相信用过linux系统的朋友都知道,linux下的截图软件是在不咋的。虽然系统本身有带截图工具,但是却苦于没有办法在截下来的图片上作画圈、写文字说明等动作。应该有不少朋友也是从windows系统下转到linux下做开发的,不知道大家对QQ截图这个软件…

android对象申明,Kotlin中的对象表达式和对象声明的具体使用

Kotlin的对象表达式与Java中的匿名内部类的主要区别:匿名内部类只能指定一个父类型,但对象表达式可以指定0~N个肤类型。一、对象表达式对象表达式的语法格式如下:object [: 0~N个父类型]{//对象表达式的类体部分}对象表达式还有如下规则&…

android+联系服务器时间,android配置时间服务器+亚洲主要的授时服务器

我们知道,Android是通过连接指定的ntpServer来获取网络时间,而不同的服务器带来的延迟也不尽相同,通常情况下,我们自然是期望尽快获取时间,那么我们就需要对ntpServer有一定的筛选,尤其是在选择默认的ntpSe…

android 获取设备的mac地址,Android编程获取设备MAC地址的实现方法

本文实例讲述了Android编程获取设备MAC地址的实现方法。分享给大家供大家参考,具体如下:/*** 获取设备的mac地址** param ac* param callback* 成功获取到mac地址之后会回调此方法*/public static void getMacAddress(final Activity ac, final SimpleCa…

android 资源如何下沉,关于Android业务模块下沉的一些实践及总结

此文已由作者徐铭阳授权网易云社区发布。欢迎访问前言最近在做需求过程中,一些类似学校选择、城市选择等业务相关模块想单独抽离出来,遇到一些诸如模块管理、通信方面的问题来背景最近有一个需求是学校列表,没错,就是我们平时总见…

android sqlite存储数据,Android之SQLite数据存储

关于SQLite的出生长大和壮大,这里就略去了,只记几点比较重要的用法:SQLite所支持的数据类型:SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的…

android gridview滚动条位置,Android GridView滚动到指定位置

当一个列表项目很多,并且每个项目可以进入到其它Activity或者Fragment时,保存之前列表的位置是一个比较不错的功能,今天研究了一下怎么保存浏览位置,发现GridView和它的父类中有4个相关的方法:public void smoothScrol…

android studio 跨进程,Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用...

本文首发于微信公众号「后厂技术官」在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法,但是我们能发现Messenger是以串行的方式来处理客户端发来的信息,如果有大量的消息发到服务端&#xff0…

nubia ui 5.0 android,流畅度爆棚 搭Android 5.0系统新机一览

近期各品牌新机都不少,而且90%以上都是Android系统的手机,可见安卓手机的主导地位仍在上升。而在系统层次,Android 5.0已经逐步开始普及,近期上市新机百分百均采用了这一系统,值得一提的是定制不再“深度”&#xff0c…

signature=4d4ce610ff2d4a5f2093452c24b70492,Reading Chromatin Signatures

摘要:The article cites a study which uses a combination of chromatin immunoprecipitation and microarray analysis to explore the histone modifications, transcription-factor binding and nucleosome density in 30 megabytes of human genome. It states…

html 百分比正方形,css实现未知宽度的正方形需求

今天群里有哥们问了一下,百分比宽度的正方形如何用css实现。其实就是不定宽的正方形如何用css实现。第一个方法利用图片的等比例缩放,用base64写一个1*1的透明png图片,宽度100%,这样容器就自动被撑成一个正方形,demo如…