--- old/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java 2019-08-20 01:44:38.000000000 +0200 +++ new/src/java.base/share/classes/jdk/internal/loader/URLClassPath.java 2019-08-20 01:44:38.000000000 +0200 @@ -699,7 +699,7 @@ /* * Nested class used to represent a Loader of resources from a JAR URL. */ - static class JarLoader extends Loader { + private static class JarLoader extends Loader { private JarFile jar; private final URL csu; private JarIndex index; @@ -714,9 +714,9 @@ * Creates a new JarLoader for the specified URL referring to * a JAR file. */ - JarLoader(URL url, URLStreamHandler jarHandler, - HashMap loaderMap, - AccessControlContext acc) + private JarLoader(URL url, URLStreamHandler jarHandler, + HashMap loaderMap, + AccessControlContext acc) throws IOException { super(new URL("jar", "", -1, url + "!/", jarHandler)); @@ -1193,11 +1193,11 @@ /* Canonicalized File */ private File dir; - FileLoader(URL url) throws IOException { + /* + * Creates a new FileLoader for the specified URL with a file protocol. + */ + private FileLoader(URL url) throws IOException { super(url); - if (!"file".equals(url.getProtocol())) { - throw new IllegalArgumentException("url"); - } String path = url.getFile().replace('/', File.separatorChar); path = ParseUtil.decode(path); dir = (new File(path)).getCanonicalFile();