From 10f79f95df679bf0996924225d838b6a7f4f932b Mon Sep 17 00:00:00 2001 From: Alan Bateman Date: Wed, 25 May 2016 17:29:47 -0400 Subject: [PATCH] 8157716: jdk.internal.loader.ClassLoaders.addURLToUCP() should return converted real path URL Rename jdk.internal.loader.ClassLoaders.addURLToUCP() to toFileURL(), which returns the converted URL. Reviewed-by: martin, mchung --- .../jdk/internal/loader/ClassLoaders.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/jdk/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java b/jdk/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java index bc2396f10c3..deaf34c41c2 100644 --- a/jdk/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java +++ b/jdk/src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java @@ -237,24 +237,29 @@ public class ClassLoaders { int off = 0; int next; while ((next = cp.indexOf(File.pathSeparator, off)) != -1) { - addURLToUCP(cp.substring(off, next), ucp); + URL url = toFileURL(cp.substring(off, next)); + if (url != null) + ucp.addURL(url); off = next + 1; } // remaining - addURLToUCP(cp.substring(off), ucp); + URL url = toFileURL(cp.substring(off)); + if (url != null) + ucp.addURL(url); } /** - * Attempts to convert to the given string to a file URL and adds it - * to the given URLClassPath. + * Attempts to convert the given string to a file URL. + * + * @apiNote This is called by the VM */ - private static void addURLToUCP(String s, URLClassPath ucp) { + private static URL toFileURL(String s) { try { - URL url = Paths.get(s).toRealPath().toUri().toURL(); - ucp.addURL(url); + return Paths.get(s).toRealPath().toUri().toURL(); } catch (InvalidPathException | IOException ignore) { // malformed path string or class path element does not exist + return null; } }