Idea @Override is not allowed when implementing interface method问题解决

文章讲述了在使用Java编程时遇到的一个问题,即在使用@Override关键字时,junit测试报错。问题根源在于IDEA项目的语言版本设置不一致,源代码的Java版本被设定为5,而SDK和编译器版本为14。通过修改IDEA项目设置和maven的pom.xml文件,确保maven使用14版本的source和compiler,最终解决了问题,使得项目能正常运行。

拿着实验材料做实验时使用了override关键字,用junit测试时发现报错@Override is not allowed when implementing interface method,当时心里就一万匹草泥马奔过,Override都能给我报错?!索性上网查找资料,发现原来是由于idea默认编译版本过低导致的问题

发现问题

进入项目设置中的modules查看项目语言,发现Sources中使用的Java版本是5,而依赖中用的SDK是14,再看编译器compiler的版本发现竟然是1.4!简直是牛头不对马嘴!

 

 

 

解决方法

这种情况是由于我使用了maven对项目进行build,而maven默认使用的编译版本就是1.4,所以按理说我们把以上栏目都改为14即可。

但是修改完后我再运行程序发现还是报一样的错,再检查一便发现编译器版本又变成了1.4

我就纳了闷了,这怎么自己又给我改了呢。上网搜索才发现,我们需要再maven的pom.xml文件中加入一下内容:
 


<properties>
        <maven.compiler.source>14</maven.compiler.source>
        <maven.compiler.target>14</maven.compiler.target>
</properties>

这样就能让maven默认使用14版本的source和compiler了。

改完保存,发现项目可以正常运行。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值