PathMatchingResourcePatternResolver converts manifest entries to absolute paths

Issue: SPR-14934
This commit is contained in:
Juergen Hoeller 2016-11-22 16:05:30 +01:00
parent 96bfc14dba
commit 8662b7773c
1 changed files with 6 additions and 4 deletions

View File

@ -418,12 +418,14 @@ 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)) {
if (path.endsWith(ResourceUtils.JAR_FILE_EXTENSION)) {
File file = new File(path);
UrlResource jarResource = new UrlResource(ResourceUtils.JAR_URL_PREFIX +
ResourceUtils.FILE_URL_PREFIX + url + ResourceUtils.JAR_URL_SEPARATOR);
ResourceUtils.FILE_URL_PREFIX + file.getAbsolutePath() +
ResourceUtils.JAR_URL_SEPARATOR);
if (jarResource.exists()) {
result.add(jarResource);
}
@ -431,7 +433,7 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
}
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());
}
}