in src/main/java/org/apache/maven/shared/verifier/util/ResourceExtractor.java [165:188]
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 );
}
}