org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z的解决办法

出现的报错如下图:

 解决方法有多种,我从网上也查了不少,问了一些小伙伴的解决方案,尝试过修改源码,但没有效果,以下将我遇到的问题的解决方案为各位提供一下,仅供参考。

1.首先检查本地hadoop,与java环境是否正常,环境未配置也会导致出此报错

用cmd窗口检查

出现以上效果的环境变量配置正确,否则去配环境变量去。配置环境变量的方法

配置HOME:

配置PASS,如果配置完java变量测试后没有效果,可以将Java的PASS放置在PASS变量的顶端

配置完hadoop的环境变量需要加载一下,在cmd窗口中输入winutils加载一下

2.再次运行程序,如果还不可以正常 运行,检查本地hadoop解压文件是否存在丢失重要文件,检查hadoop/bin下这俩文件是否缺失,如果缺失需要下载后再运行程序

3.上述方法无效后,将/Hadoop/bin/下的hadoop.dll文件复制到C:\Windows\System32下,再次运行,一般情况可以解决

再次运行程序,如果无效,修改源码吧

4.修改源码:

找到源文件的位置,将鼠标放置再报错的源文件上就可得到,报错源文件是NativeIO,java,此问题的报错文件在.m2\repository\org\apache\hadoop\hadoop-common\2.7.2下

此文件是压缩文件,修改时可以解压文件,进入修改,修改的文件位置在\org\apache\hadoop\io\nativeio文件下的

将文件修改为

修改后删除原来的压缩包,运行程序,会出现提示有多个文件或者文件缺失,选择“修改文件路径”,将文件重新加载后再运行程序。我通过这个方法没有解决,继续百度查到了另一个方法

5.添加源码

上方法仍然失效时需要在此项目中重新创建一个包,将NativeIO.java重新写一下,在此项目中添加一个包,包名如下

包名必须是这个,需要自己创建,在此包下创建类NativeIO.java,里面的代码复制源码中的NativeIO.java,将文件里内容修改为

 

再次运行Java程序,应该就可以正常运行了。

 

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值