【发布时间】:2012-03-21 13:04:45
【问题描述】:
我的团队正在尝试使用 Apache Thrift 构建服务器,但我们遇到了奇怪的编译问题。在 Thrift 生成的 Java 文件中,存在以下几行:
public static class Client extends shared.BasicServer.Client implements org.apache.thrift.TServiceClient, Iface {
public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
这些被定义为内部类。当我尝试在 Eclipse 中构建项目时,它实际上创建了 .class 文件并且程序运行了,但是 Eclipse 仍然说存在与这些行相关的各种错误,包括以下内容:
Bound mismatch:Backend.Client 类型不是 TServiceClientFactory Backend.java /server/src/thrift 第 42 行 Java 问题类型的有界参数的有效替代品
TServiceClient 类型不能是 Client 的超接口;超级接口必须是接口 Backend.java /server/src/thrift 第 41 行 Java 问题
我相信这是因为 org.apache.thrift.TServiceClient 实际上是一个抽象类,而不是接口,而 Client 正在尝试实现它。但是,正如我之前所说,程序可以编译并运行,但我不太明白如何。
有谁知道如何摆脱/抑制这些错误?我觉得应该将一些简单的选项传递给我的构建配置。
【问题讨论】: