IDEA运行Maven打包项目编译报错:不再支持源选项 5。请使用 6 或者更高版本。不再支持目标选项 1.5。请使用 1.6 或更高版本。

IDEA运行Maven打包项目编译报错:

不再支持源选项 5。请使用 6 或者更高版本。

不再支持目标选项 1.5。请使用 1.6 或更高版本。

最近学习大数据,利用mapreduce进行WordCount单词计数测试,在IDEA中建好Maven项目定义好类后,打jar包是出现了错误,没能成功打包。

报错记录如下:

在这里插入图片描述

在这里插入图片描述

报错是版本问题,马上就想到了jdk版本是否不匹配,随即win+r打开命令行输入 :java -version 查看Java版本,我的是Java8的版本。

在这里插入图片描述

进入IDEA点击右上角的project structure…检查IDEA配置

在这里插入图片描述

进入Project,不知道什么时候升级为了Java11,暂且不管,进来发现Project language level是8,将两块区域的版本选择一致,

在这里插入图片描述

进入modules,将这里面的language level也选择11的版本,再次进行打包尝试。

在这里插入图片描述

结果还是不行,继续检查此处地方是否对应jdk的版本。点击file->settings->Build,Execution,Deployment->java Compiler,发现Project bytecode version为11,而项目的Target bytecode version却是5,将Target bytecode version改为11,Apply,再次打包依旧报错。

在这里插入图片描述

寻思真的需要把IDEA的Java版本降到8才行???不甘心,在网上查询资料,发现在项目pom.xml中可以指定java版本,于是将下面的依赖放入pom.xml文件中,我的IDEA版本是11,所以指定Java11的版本,import change 后,再次package,终于是打包成功了!

在这里插入图片描述

	UTF-8UTF-8111111

但是,将jar包上传到linux虚拟机中测试时,发生报错:Exception in thread “main” java.lang.UnsupportedClassVersionError: MapReduce/WordCount has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0,这里还是Java版本不匹配,做到这里我恍然大悟,我的Linux上安装的Java版本也是8.0的,而jar包里却是指定的Java11,于是我找了一个Java8,且相同代码的wordcount.jar包上传到Linux进行测试,成功的进行了单词计数。到这里,就清晰的知道错在哪里了!Linux上的jdk版本是1.8,为了之后的学习能顺利进行,还能怎末办呢?降IDEA的Java的版本呗!!!使本地jdk与Linux的版本相同,后期会少很多麻烦!!!

就说到这里了,希望你们遇到类似问题有所启发,少走弯路!如果有更好的解决方法请在评论区多多指教,好了,我去降Java版本了!————瑞思拜


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部