diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java index d8d8df0433d..e4522358dc1 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java @@ -88,7 +88,9 @@ protected void setNotebookDirectory(String notebookDirPath) throws IOException { LOGGER.info("Notebook dir doesn't exist: {}, creating it.", rootNotebookFileObject.getName().getPath()); } - this.rootNotebookFolder = rootNotebookFileObject.getName().getPath(); + // getPath() method returns a string without root directory in windows, so we use getURI() instead + // windows does not support paths with "file:///" prepended, so we replace it by "/" + this.rootNotebookFolder = rootNotebookFileObject.getName().getURI().replace("file:///", "/"); } @Override @@ -110,7 +112,9 @@ private Map listFolder(FileObject fileObject) throws IOExcepti noteInfos.putAll(listFolder(child)); } } else { - String noteFileName = fileObject.getName().getPath(); + // getPath() method returns a string without root directory in windows, so we use getURI() instead + // windows does not support paths with "file:///" prepended. so we replace it by "/" + String noteFileName = fileObject.getName().getURI().replace("file:///", "/"); if (noteFileName.endsWith(".zpln")) { try { String noteId = getNoteId(noteFileName);