From 5e62faf7201a8f929c052cab752c41da1b0deb22 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 24 May 2019 09:41:23 +0100 Subject: [PATCH] Handle null CodeSource when determining Spring Boot version Closes gh-16956 See gh-16182 --- .../java/org/springframework/boot/SpringBootVersion.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringBootVersion.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringBootVersion.java index 1412fd3de5..8a950ca69a 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringBootVersion.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringBootVersion.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.net.JarURLConnection; import java.net.URL; import java.net.URLConnection; +import java.security.CodeSource; import java.util.jar.Attributes; import java.util.jar.Attributes.Name; import java.util.jar.JarFile; @@ -62,8 +63,12 @@ public final class SpringBootVersion { if (implementationVersion != null) { return implementationVersion; } - URL codeSourceLocation = SpringBootVersion.class.getProtectionDomain() - .getCodeSource().getLocation(); + CodeSource codeSource = SpringBootVersion.class.getProtectionDomain() + .getCodeSource(); + if (codeSource == null) { + return null; + } + URL codeSourceLocation = codeSource.getLocation(); try { URLConnection connection = codeSourceLocation.openConnection(); if (connection instanceof JarURLConnection) {