PathMatchingResourcePatternResolver converts manifest entries to absolute paths and tries all root URLs (any file extension) as jar file
Issue: SPR-14934 Issue: SPR-14936
This commit is contained in:
parent
2b0293578f
commit
f16d453805
|
|
@ -365,19 +365,17 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
|
|||
if (classLoader instanceof URLClassLoader) {
|
||||
try {
|
||||
for (URL url : ((URLClassLoader) classLoader).getURLs()) {
|
||||
if (ResourceUtils.isJarFileURL(url)) {
|
||||
try {
|
||||
UrlResource jarResource = new UrlResource(
|
||||
ResourceUtils.JAR_URL_PREFIX + url.toString() + ResourceUtils.JAR_URL_SEPARATOR);
|
||||
if (jarResource.exists()) {
|
||||
result.add(jarResource);
|
||||
}
|
||||
try {
|
||||
UrlResource jarResource = new UrlResource(
|
||||
ResourceUtils.JAR_URL_PREFIX + url.toString() + ResourceUtils.JAR_URL_SEPARATOR);
|
||||
if (jarResource.exists()) {
|
||||
result.add(jarResource);
|
||||
}
|
||||
catch (MalformedURLException ex) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Cannot search for matching files underneath [" + url +
|
||||
"] because it cannot be converted to a valid 'jar:' URL: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
catch (MalformedURLException ex) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Cannot search for matching files underneath [" + url +
|
||||
"] because it cannot be converted to a valid 'jar:' URL: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -418,20 +416,20 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
|
|||
protected void addClassPathManifestEntries(Set<Resource> result) {
|
||||
try {
|
||||
String javaClassPathProperty = System.getProperty("java.class.path");
|
||||
for (String url : StringUtils.delimitedListToStringArray(
|
||||
for (String path : StringUtils.delimitedListToStringArray(
|
||||
javaClassPathProperty, System.getProperty("path.separator"))) {
|
||||
try {
|
||||
if (url.endsWith(ResourceUtils.JAR_FILE_EXTENSION)) {
|
||||
UrlResource jarResource = new UrlResource(ResourceUtils.JAR_URL_PREFIX +
|
||||
ResourceUtils.FILE_URL_PREFIX + url + ResourceUtils.JAR_URL_SEPARATOR);
|
||||
if (jarResource.exists()) {
|
||||
result.add(jarResource);
|
||||
}
|
||||
File file = new File(path);
|
||||
UrlResource jarResource = new UrlResource(ResourceUtils.JAR_URL_PREFIX +
|
||||
ResourceUtils.FILE_URL_PREFIX + file.getAbsolutePath() +
|
||||
ResourceUtils.JAR_URL_SEPARATOR);
|
||||
if (jarResource.exists()) {
|
||||
result.add(jarResource);
|
||||
}
|
||||
}
|
||||
catch (MalformedURLException ex) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Cannot search for matching files underneath [" + url +
|
||||
logger.debug("Cannot search for matching files underneath [" + path +
|
||||
"] because it cannot be converted to a valid 'jar:' URL: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue