liquibase-core/src/main/java/liquibase/resource/ClassLoaderResourceAccessor.java
protected Path rootUrlToPath(URL url) {
        String protocol = url.getProtocol();
        switch (protocol) {
            case "file":
                return FileSystems.getDefault().getPath(url.getFile().replace("%20", " ").replaceFirst("/(\\w)\\:/", "$1:/"));
            default:
                Scope.getCurrentScope().getLog(getClass()).warning("Unknown protocol '" + protocol + "' for ClassLoaderResourceAccessor on " + url.toExternalForm());
                return null;
        }
    }
protected Path rootUrlToPath(URL url) {
        String protocol = url.getProtocol();
        switch (protocol) {
            case "file":
                return FileSystems.getDefault().getPath(url.getFile().replace("%20", " ").replaceFirst("/(\\w)\\:/", "$1:/"));
            default:
                Scope.getCurrentScope().getLog(getClass()).warning("Unknown protocol '" + protocol + "' for ClassLoaderResourceAccessor on " + url.toExternalForm());
                return null;
        }
    }
Converts the given URL to a Path. Used by {@link #findRootPaths(ClassLoader)} to convert classloader URLs to Paths to pass to {@link #addRootPath(Path)}.

@return null if url cannot or should not be converted to a Path.