我已经下载了一个开源Java项目JMapViewer
。
http://svn.openstreetmap.org/applications/viewer/jmapviewer/
将其导入Eclipse后,会出现许多编译器错误,所有这些错误都与关于从接口实现的方法之前的@Override
符号有关。我完全理解这个错误,因为我只会使用@Override
表示法来覆盖超类方法(扩展,而不是实现)的方法,我认为这是唯一的预期用法(即便如此,我也不会认为这是必要的。)
该项目尚未维持4个月,但确实有很长的修订历史和社区贡献。我无法弄清楚为什么那些@Override
注释会在那里阻止编译,但是由于我的经验不足,我必须考虑那些把它们放在那里的人,以前的项目贡献者,有一些很好的理由不清楚我。项目文档说它打算用于JDK 1.5,所以我尝试在Eclipse中交替地在1.5,1.6和1.7下编译它,并且在每种情况下结果是相同的...编译器对这些非常不满意符号就在它们的位置。
那么......我错过了什么?
答案 0 :(得分:2)
这取决于您使用的是Java 5还是Java 6. @Override
仅在Java 6中添加了{{1}}接口重写方法。
答案 1 :(得分:2)
您看到的文档是正确的。从JDK 1.6开始,编译器应该接受@override
实现接口方法的方法1>
尝试从命令行进行编译,以确保它仍然不是使用1.5编译器进行eclipse。