diff --git a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/BuildpackReference.java b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/BuildpackReference.java index 86b163d20f8..a9059fd71ad 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/BuildpackReference.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/BuildpackReference.java @@ -53,11 +53,17 @@ public final class BuildpackReference { if (url.getProtocol().equals("file")) { return Paths.get(url.getPath()); } + return null; } catch (MalformedURLException ex) { // not a URL, fall through to attempting to find a plain file path } - return Paths.get(this.value); + try { + return Paths.get(this.value); + } + catch (Exception ex) { + return null; + } } @Override diff --git a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/DirectoryBuildpack.java b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/DirectoryBuildpack.java index 1ea832b2eda..6316dd99c13 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/DirectoryBuildpack.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/DirectoryBuildpack.java @@ -93,7 +93,7 @@ final class DirectoryBuildpack implements Buildpack { */ static Buildpack resolve(BuildpackResolverContext context, BuildpackReference reference) { Path path = reference.asPath(); - if (Files.exists(path) && Files.isDirectory(path)) { + if (path != null && Files.exists(path) && Files.isDirectory(path)) { return new DirectoryBuildpack(path); } return null; diff --git a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/TarGzipBuildpack.java b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/TarGzipBuildpack.java index 23a0bf4f1b5..6a0cce88436 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/TarGzipBuildpack.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/TarGzipBuildpack.java @@ -109,7 +109,7 @@ final class TarGzipBuildpack implements Buildpack { */ static Buildpack resolve(BuildpackResolverContext context, BuildpackReference reference) { Path path = reference.asPath(); - if (Files.exists(path) && Files.isRegularFile(path)) { + if (path != null && Files.exists(path) && Files.isRegularFile(path)) { return new TarGzipBuildpack(path); } return null;