diff --git a/cli/src/main/java/com/devonfw/tools/ide/io/FileAccessImpl.java b/cli/src/main/java/com/devonfw/tools/ide/io/FileAccessImpl.java index b6b735e59..1a9aced7e 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/io/FileAccessImpl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/io/FileAccessImpl.java @@ -361,6 +361,10 @@ private void copyRecursive(Path source, Path target, FileCopyMode mode) throws I } this.context.trace("Copying {} to {}", source, target); Files.copy(source, target); + Object attribute = Files.getAttribute(source, "zip:permissions"); + if (attribute instanceof Set permissionSet) { + Files.setPosixFilePermissions(target, permissionSet); + } } else { throw new IOException("Path " + source + " does not exist."); }