idea运行map Reduce 时报:错误: 找不到或无法加载主类

问题描述:
  使用idea编辑器,使用maven构建hadoop的mapreduce项目,在运行的时候提示报错:错误: 找不到或无法加载主类 com.hnxy.bin.JobRunner

错误排查:
1 可能是java的环境变量错误

解决方案:查看java的环境变量是否 正确

2 可能是未能成功编译:

解决方案: 菜单---》Build---》Rebuild Prodject  

3 缓存问题

解决方案:菜单---》File---》Invalidate Caches/Restart 选择Invalidate and Restart 或者 只是Invalidate,清除掉缓存,然后Rebuild Project

4 运行时的configuration问题,idea中,打开run--> edit configuration

5 我自己经过排查上述四个问题的原因都不是,而是第三方jar包的scope设置问题。(听起来不可思议,但是确实是这个问题,在idea中有这个问题,在eclipse没有这个问题)

场景描述:我是在window本地运行的hadoop 的map reduce示例,引用了第三方jar包:hadoop-client。(注:不是在伪集群,也不是集群上跑的),当我将该jar包的编译范围设置为scope时,点击运行,就会报找不到主类的错误。示意图如下:

pom文件:

                       

报错:

解决方案:将scope 的值设置为compile,即可正常运行,示意图如下:

注:这样确实解决了运行时找不到主类的问题,但是带来的一个新的问题:就是在maven 打包的时候,会将该第三方jar包打进包中,所以,我采取的办法:运行时,设置为compile,打包时再将scope设置为provided。

     参考博客:https://www.cnblogs.com/gzshan/p/10861457.html
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值