Exception in thread “main“ java.lang.UnsupportedClassVersionError

博客讲述了在IDEA中使用Maven打包的WordCount程序在Hadoop集群上运行时遇到的JDK版本不匹配问题。错误源于IDEA使用JDK9打包,而集群中安装的是JDK8。解决方案包括升级Linux中的JDK至9或者将IDEA设置调整为使用JDK8,包括修改Project和Module的SDK以及Language Level,并重新打包。通过调整IDEA设置确保与目标环境兼容性,避免此类异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在IDEA里编写好自己的WordCount程序后,我们使用Maven打包。

将jar包导入到Hadoop集群中。使用Hadoop命令执行jar包,出现如下错误:

这个错误的原因是我们的IDEA里用的JDK版本太高,可以看到complied的版本是more rencent(53.0)用的JDK9进行打包的。但是在我的虚拟机中,我安装的是JDK8(52.0)。所以会出现上述的异常。那么解决方案有两种。

1.是将Linux中的JDK重新安装成JDK9

2.更换生产环境中的JDK

        2.1下载JDK8 ,安装JDK和JRE 并且为JDK配置环境变量。因为我之前安装了9,可以并行存在,只需要给JDK8一个新的文件夹即可。

        2.2修改IDEA设置

在File-Settings-java Complier中,将红框内的设置为8即JDK8

 

 2.3在File - project-structures-project中

对下述两个框框进行修改。因为可以看到我的version是1.9.0_202 (因为忘记改名了所以包名为9.0)之后将下面的SDK default修改为 8

2.4File - project-structures-modules中

 修改LanguageLevel 。

修改完上述配置后,当前的project是无法立即生效的。可以新建project,将代码复制过去,重新打包上传Hadoop即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值