Avoid exception if the symlink already exists
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/818e88d6 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/818e88d6 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/818e88d6 Branch: refs/heads/master Commit: 818e88d6dfad6aa7cb84f6a70bacf98ec0367338 Parents: 61f2436 Author: Jean-Baptiste Onofré <[email protected]> Authored: Fri Jun 19 14:47:38 2015 +0200 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Fri Jun 19 14:47:38 2015 +0200 ---------------------------------------------------------------------- .../org/apache/karaf/profile/assembly/Builder.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/818e88d6/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java ---------------------------------------------------------------------- diff --git a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java index ea5c6d7..53eb178 100644 --- a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java +++ b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java @@ -24,15 +24,7 @@ import java.io.InputStream; import java.net.MalformedURLException; import java.net.URI; import java.nio.charset.StandardCharsets; -import java.nio.file.FileSystem; -import java.nio.file.FileSystemNotFoundException; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.OpenOption; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.StandardCopyOption; -import java.nio.file.StandardOpenOption; +import java.nio.file.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -623,7 +615,9 @@ public class Builder { Files.createDirectories(sysOutput.getParent()); Files.copy(input, sysOutput, StandardCopyOption.REPLACE_EXISTING); Path libOutput = homeDirectory.resolve(path).resolve(name); - Files.createSymbolicLink(libOutput, libOutput.getParent().relativize(sysOutput)); + if (Files.notExists(libOutput, LinkOption.NOFOLLOW_LINKS)) { + Files.createSymbolicLink(libOutput, libOutput.getParent().relativize(sysOutput)); + } } else { Path output = homeDirectory.resolve(path).resolve(name); Files.copy(input, output, StandardCopyOption.REPLACE_EXISTING);
