windows下编译hadoop成功 执行异常org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

来源:互联网 发布:程序员到架构师 编辑:程序博客网 时间:2024/05/20 23:07

在hadoop源代码根目录下找到hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\fs\FileUtil.java

找到canRead、canWrite、canExecute三个函数,将windows下的分支直接返回true,示例:

public static boolean canWrite(File f) {
    if (Shell.WINDOWS) {
      /*try {
        return NativeIO.Windows.access(f.getCanonicalPath(),
            NativeIO.Windows.AccessRight.ACCESS_WRITE);
      } catch (IOException e) {
        return false;
      }*/
      return true;
    } else {
      return f.canWrite();
    }
  }

然后重新编译

阅读全文
0 0