in src/main/java/org/apache/maven/shared/verifier/util/ResourceExtractor.java [128:144]
private static File getJarFileFromUrl(URL url) {
if (!"jar".equalsIgnoreCase(url.getProtocol())) {
throw new IllegalArgumentException("This is not a Jar URL:" + url.toString());
}
String resourceFilePath = url.getFile();
int index = resourceFilePath.indexOf("!");
if (index == -1) {
throw new RuntimeException("Bug! " + url.toExternalForm() + " does not have a '!'");
}
String jarFileURI = resourceFilePath.substring(0, index);
try {
File jarFile = new File(new URI(jarFileURI));
return jarFile;
} catch (URISyntaxException e) {
throw new RuntimeException("Bug! URI failed to parse: " + jarFileURI, e);
}
}