Java报错-java.lang.UnsatisifiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

Issue

Java报错-java.lang.UnsatisifiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

Answer

这是因为Windows只有在具有访问权限的路径里检查当前进程,而当前路径没有访问权限,所以我们修改源代码,通过return true给予访问

(1)在网站https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.2/hadoop-2.9.2-src.tar.gz里下载hadoop-2.9.2-src.tar.gz

(2)解压hadoop-2.9.2-src.tar.gz

(3)hadoop-2.9.2-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio下找到NativeIO.java

(4)在project下新建package:org.apache.hadoop.io.nativeio

(5)复制NativeIO.java到package:org.apache.hadoop.io.nativeio下

(6)修改NativeIO类中access方法

Java报错-java.lang.UnsatisifiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0