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

出现的报错如下图:

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

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

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

用cmd窗口检查

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

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

配置HOME:

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

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

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

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

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

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

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

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程序,应该就可以正常运行了。

 

你可能感兴趣的:(org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z的解决办法)