1. 问题描述
最近我将一个开源项目的工程导入 eclipse 中时发现编译错误如下:The method run() of type XXX must override a superclass method... 可是仔细查看发现 XXX 这个类只是实现了一个普通的 Runnable 接口,然而在其实现方法 run() 处却报出这样的编译错误实属奇怪,因为系统中 java 的安装和环境配置都正常,按理说不应该出现这种编译错误。
2. 解决
后来在网上找到了问题的原因:导入的源工程其原本的 java 编译环境与当前系统中的 java 编译环境不相同,具体而言是 java 版本不对,我系统中安装的 java 版本是1.6,于是首先通过 Windows - Preferences - Java - Compiler ,找到右边的 java 编译选项面板查看,发现此处的 java 版本配置和系统一致,如图所示:
说明系统的编译环境设置没有问题,于是再查看工程本身的具体编译设置项,右击工程进入:Build Path - Configure Build Path... - Java Compiler,发现其工程编译环境用的是 java 1.5 版本,如下图所示:
将其修改为系统的 1.6 ,版本,单击 OK 重新编译,问题解决!