我正在尝试让 Thrift 在 Eclipse 中工作,但遇到了一些问题。该项目是一个标准的maven项目。
我使用thrift编译器将thrift文件编译为Java代码,成功了。生成的代码放在src/main/generated-sources//
下(这种做法可以接受吗?)
在 Eclipse 中,我从构建菜单添加了 src 文件夹,但随后我得到:
Cannot reduce the visibility of the inherited method from ProcessFuction<I,...
我没有使用 Maven thrift 插件,因为源代码已经生成并且位于源代码树中(同样,这是可取的吗?)。
我应该如何配置此设置?
最佳答案
看来Thrift编译器并没有想象中的那么好。
无法降低继承方法的可见性
表明从抽象类或接口(interface)继承的方法原本具有较高的可见性,例如“公共(public)”,而您的代码中有“私有(private)”。
我会尝试将其设置为“公开”,看看会发生什么。该代码可能会编译得很好,因为我预计由于编译/转换方法上缺少可见性设置的代码而产生不匹配,因为人们可以在不指定可见性的情况下编写方法 header :
void doany(){
// nothing
}
在这种情况下,该方法使用类可见性(主要是“公共(public)”)——编译器会对此产生误解。
关于java - Eclipse 中的 Thrift 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14210473/