diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/io/ApplicationResourceLoader.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/io/ApplicationResourceLoader.java index cd5af8f9595a..b509744de5ed 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/io/ApplicationResourceLoader.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/io/ApplicationResourceLoader.java @@ -216,10 +216,7 @@ public Resource getResource(String location) { private Resource resolveFile(Resource resource) { try { File file = resource.getFile(); - if (file.isAbsolute()) { - return resource; - } - return new ApplicationResource(new File(this.workingDirectory.toFile(), file.getPath()).getPath()); + return new ApplicationResource(this.workingDirectory.resolve(file.toPath())); } catch (FileNotFoundException ex) { return resource; @@ -254,6 +251,10 @@ private static final class ApplicationResource extends FileSystemResource implem super(path); } + ApplicationResource(Path path) { + super(path); + } + @Override public String getPathWithinContext() { return getPath();