Maven项目解决Remove ‘@override‘ annotation终极方案

文章出处:http://www.cnblogs.com/mao2080/

1、问题描述

  当类实现接口后,点击自动实现接口方法时,会自动加上@override,但由于编译环境文件有错误,提示Remove '@override' annotation,网上找了些方法只能临时解决,不能彻底解决问题。比如修改:

  1、Project->Properties->Project Facets->Java 1.7

  2、Project->Properties->Java Compiler 1.7

  当刷新maven(Alt+F5)项目时,这些修改的又回到了初始状态。

 

 

有时候Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多。

这是jdk的问题,@Override是JDK5就已经有了,但是不支持对接口的实现,认为这不是Override而报错。JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。

要解决该问题,首先要确保机器上安装了jdk 1.6,

然后,选择eclipse菜单Windows->Preferences-->java->Compiler-->compiler compliance level选择 1.6,刷新工程,重新编译。

如果问题还没解决,就在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level 中选择 1.6,刷新工程,重新编译。

 

2、解决方法

 

在pom.xml中添加如下配置,然后右键Maven->Update project:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< build >
         < plugins >
             <!-- jdk版本号 -->
             < plugin >
                 < groupId >org.apache.maven.plugins</ groupId >
                 < artifactId >maven-compiler-plugin</ artifactId >
                 < configuration >
                     < source >1.7</ source >
                     < target >1.7</ target >
                     < encoding >UTF-8</ encoding >
                 </ configuration >
             </ plugin >
         </ plugins >
     </ build >

  

 

 

 

有时候Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多。

这是jdk的问题,@Override是JDK5就已经有了,但是不支持对接口的实现,认为这不是Override而报错。JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。

要解决该问题,首先要确保机器上安装了jdk 1.6,

然后,选择eclipse菜单Windows->Preferences-->java->Compiler-->compiler compliance level选择 1.7,刷新工程,重新编译。

如果问题还没解决,就在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level 中选择 1.7,刷新工程,重新编译。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值