我正在使用 JRE 1.6 版本,并意识到在将 @Override
与接口(interface)一起使用时出现 JRE 1.5 问题。
我导入了一个新项目(Spring + Maven)和 Eclipse,只要任何接口(interface)方法被覆盖,Eclipse 就会在每个 @Override
注释上给出错误。
到目前为止我尝试过的事情
- 检查项目和工作区特定的 JRE 和合规级别,它设置为 1.6 版本。
- 检查了构建路径上的 JRE 库,它也是一样的。
- 将项目方面的 Java 版本更改为 1.6(不知道是否有帮助)
- Maven 是否清理和安装(到现在已经数百次)
- 注释的禁用错误/警告仍然不成功
- Eclipse 重新启动(愚蠢的事情但帮了我很多时间)
- 最后一个选择是删除所有 .setting 和 .project 文件,如果我没有其他任何尝试的话。
编辑 1:
我收到以下错误
The method XXX of type XXX must override a superclass method.
编辑 2:
代码示例
接口(interface)声明
public interface HelperService {
public RequisitionTypeDTO getRequisitionTypeDTO(int id) throws Exception;
}
实现:
@Service
public class HelperServiceImpl implements HelperService{
@Override // Getting error for this line
public RequisitionTypeDTO getRequisitionTypeDTO(int id) throws Exception{
// Bla Bla Bla
}
}
编辑 3:
不管这些错误如何,我都能够成功构建和运行我的应用程序。只是对整个源代码中的红色错误标志不满意。
最佳答案
检查接口(interface)中的RequisitionTypeDTO
是否与实现中的RequisitionTypeDTO
类型相同(不同的导入)。
如果可以,则尝试添加 maven-compiler-plugin
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
和 Maven
-Update project configuration...
来自项目的上下文菜单 - 因为这是您应该设置编译 jre 的方式。
当然还有 mvn clean
,在 Eclipse Project
->Clean...
如果一切都失败了,请使用最少的代码创建新的简单项目,并检查是否存在相同的错误。
关于java - 接口(interface)实现的@Override 注解出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947584/