1)override问题
在学习使用maven管理项目时,尝试将一个已有的thrift项目改为maven 项目,结果在添加完依赖库之后,thrift自动生成的代码一下子报了一百多个错误,而且还全部是override错误,最初还以为是maven添加的依赖库产生的问题(由于刚学习maven),结果在依赖库上面折腾了半天,也没能解决问题。后来试着在百度上搜索(thrift 错误:必须覆盖超类方法),发现原来这不是thrift的问题,而是jdk1.5版本的问题,网上的blog是这么写的:
@Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override
而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override
文章中给的建议是修改项目的java compile设置,修改前:
修改后:
问题解决。
2)jar包引用冲突
这个问题也是出现在使用thrift的时候,当时我试图将thrift的接口代码合并到mapred任务代码中时,thrift接口代码也是报了上百个错误,在仔细定位之后,发现是jar包引用冲突。