ResourceUtils.extractArchiveURL properly deals with top-level war URLs
Issue: SPR-15556
This commit is contained in:
parent
e835f4d025
commit
7b3f5fd855
|
@ -341,8 +341,11 @@ public abstract class ResourceUtils {
|
|||
|
||||
int endIndex = urlFile.indexOf(WAR_URL_SEPARATOR);
|
||||
if (endIndex != -1) {
|
||||
// Tomcat's "jar:war:file:...mywar.war*/WEB-INF/lib/myjar.jar!/myentry.txt"
|
||||
// Tomcat's "war:file:...mywar.war*/WEB-INF/lib/myjar.jar!/myentry.txt"
|
||||
String warFile = urlFile.substring(0, endIndex);
|
||||
if (URL_PROTOCOL_WAR.equals(jarUrl.getProtocol())) {
|
||||
return new URL(warFile);
|
||||
}
|
||||
int startIndex = warFile.indexOf(WAR_URL_PREFIX);
|
||||
if (startIndex != -1) {
|
||||
return new URL(warFile.substring(startIndex + WAR_URL_PREFIX.length()));
|
||||
|
@ -356,8 +359,6 @@ public abstract class ResourceUtils {
|
|||
/**
|
||||
* Create a URI instance for the given URL,
|
||||
* replacing spaces with "%20" URI encoding first.
|
||||
* <p>Furthermore, this method works on JDK 1.4 as well,
|
||||
* in contrast to the {@code URL.toURI()} method.
|
||||
* @param url the URL to convert into a URI instance
|
||||
* @return the URI instance
|
||||
* @throws URISyntaxException if the URL wasn't a valid URI
|
||||
|
|
Loading…
Reference in New Issue