Precompile current dir pattern in Handler

Closes gh-11321
This commit is contained in:
dreis2211 2017-12-11 17:08:38 +01:00 committed by Andy Wilkinson
parent 9b65dfe857
commit d5370e6852
1 changed files with 4 additions and 1 deletions

View File

@ -29,6 +29,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
/**
* {@link URLStreamHandler} for Spring Boot loader {@link JarFile}s.
@ -50,6 +51,8 @@ public class Handler extends URLStreamHandler {
private static final String CURRENT_DIR = "/./";
private static final Pattern CURRENT_DIR_PATTERN = Pattern.compile(CURRENT_DIR);
private static final String PARENT_DIR = "/../";
private static final String[] FALLBACK_HANDLERS = {
@ -237,7 +240,7 @@ public class Handler extends URLStreamHandler {
}
private String replaceCurrentDir(String file) {
return file.replace(CURRENT_DIR, "/");
return CURRENT_DIR_PATTERN.matcher(file).replaceAll("/");
}
@Override