繁体   English   中英

Windows和Apache Thrift可执行文件

[英]Windows and Apache Thrift Executable

我正在测试Apache Thrift学习起来有多么简单,它看起来很有希望。 一个主要问题:第一个教程不起作用...

我有Windows 7,Python 2.7,并获得Windows v.0.9.1的Thrift .exe。 我宁愿不从源代码进行编译,因为我不使用Cygwin等。exe出现了以下问题。 因此,我继续尝试使用Chocolatey使用cinst Thrift安装Thrift,该工具运行良好,并给了我Thrift v0.9.0。 但是,此版本导致与exe相同的行为,如下所述。

当我运行位于http://thrift.apache.org/tutorial/py的教程时,我得到以下信息:

C:\Users\Me\Desktop\Thrift>thrift -r --gen py tutorial.thrift
[WARNING:C:/Users/Me/Desktop/Thrift/tutorial.thrift:59] Could not find include file shared.thrift

[ERROR:C:/Users/Me/Desktop/Thrift/tutorial.thrift:123] (last token was 'shared.SharedService')
Service "shared.SharedService" has not been defined.

希望该exe可以为某人工作,因为我希望避免这种情况要求从源代码进行构建。

答案是本教程假定您有一个/ tutorial文件夹,其中包含两个.thrift文件。 如果您使用Windows EXE路由,然后构建了tutorial.thrift文件,则还需要添加shared.thrift ,可以在Git的https://git-wip-us.apache.org/repos/asf中找到它。 p = thrift.git; A = blob_plain; F =教程/ shared.thrift

将此文件保存在您的tutorial.thrift文件旁边,您可以继续进行本教程。

命令

thrift -r --gen py tutorial.thrift

使用-r[recurse]开关自动构建第二个包含的IDL文件shared.thrift shared.thrift文件与tutorial.thrift位于相同的文件夹中。 由于Thrift会根据当前文件夹查找包含的文件,因此您必须从该文件夹中显式调用Thrift编译器。

假设您的Thrift工作副本位于C:\\ Thrift下,并且可以通过搜索路径访问thrift.exe ,打开命令提示符,导航到该文件夹​​并再次输入命令:

C:\> cd Thrift\tutorial
C:\Thrift\tutorial> thrift.exe -r --gen py tutorial.thrift

PS:0.9.0有点过时了。 0.9.1很好,即将发布的0.9.2版将有更多改进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM