Моя группа пытается построить сервер, используя Apache Thrift, но у нас странные проблемы с компиляцией.В сгенерированных файлах Java из Thrift присутствуют следующие строки:
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 по-прежнему говорит, что существуют различные ошибки, связанные с этими строками, включая следующие:
Несоответствие привязки: Тип Backend.Client не является допустимой заменой ограниченного параметра типа TServiceClientFactory Backend.java / server / src / thrift line 42 Проблема Java
Тип TServiceClient не может быть суперинтерфейсом клиента;Суперинтерфейс должен быть интерфейсом Backend.java / server / src / thrift line 41 Проблема Java
Я считаю, что это потому, что org.apache.thrift.TServiceClient на самом деле является абстрактным классом, а не интерфейсом,и все же клиент пытается реализовать это.Однако, как я уже говорил, программа компилируется и работает, и я не совсем понимаю, как.
Кто-нибудь знает, как избавиться от этих ошибок?У меня есть ощущение, что есть какая-то простая опция, которую я должен передать своей конфигурации сборки.