public static URL getUrl(String resourceLocation) throws FileNotFoundException {
        // Forked from Spring 5.2.2
        // https://github.com/spring-projects/spring-framework/blob/22a888b53df620b0905ce8beb6b0cf71981086d8/spring-core/src/main/java/org/springframework/util/ResourceUtils.java#L129
        if (resourceLocation.startsWith("classpath:")) {
            final String path = resourceLocation.substring("classpath:".length());
            final URL resource = ResourceUtil.class.getClassLoader().getResource(path);
            if (resource == null) {
                throw new FileNotFoundException("class path resource [" + path +
                                                "] cannot be resolved to URL because it does not exist");
            }
            return resource;
        }
        try {
            // try URL
            return new URL(resourceLocation);
        } catch (MalformedURLException ex) {
            // no URL -> treat as file path
            try {
                return new File(resourceLocation).toURI().toURL();
            } catch (MalformedURLException ex2) {
                throw new FileNotFoundException("Resource location [" + resourceLocation +
                                                "] is neither a URL nor a well-formed file path");
            }
        }
    }
Resolves the given resource location to a {@link URL}.

<p>Does not check whether the URL actually exists; simply returns
the URL that the given location would correspond to.

@param resourceLocation the resource location to resolve: either a
                        "classpath:" pseudo URL, a "file:" URL, or a plain file path
@return a corresponding URL object
@throws FileNotFoundException if the resource cannot be resolved to a URL
core/src/main/java/com/linecorp/armeria/internal/common/util/ResourceUtil.java