diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/main/java/org/springframework/boot/loader/jarmode/JarModeLauncher.java b/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/main/java/org/springframework/boot/loader/jarmode/JarModeLauncher.java index 600266a241be..31c9fc53fcda 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/main/java/org/springframework/boot/loader/jarmode/JarModeLauncher.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/main/java/org/springframework/boot/loader/jarmode/JarModeLauncher.java @@ -40,8 +40,14 @@ public static void main(String[] args) { ClassUtils.getDefaultClassLoader()); for (JarMode candidate : candidates) { if (candidate.accepts(mode)) { - candidate.run(mode, args); - return; + try { + candidate.run(mode, args); + return; + } catch (RuntimeException e) { + if (!Boolean.getBoolean(DISABLE_SYSTEM_EXIT)) { + System.exit(1); + } + } } } System.err.println("Unsupported jarmode '" + mode + "'"); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/JarModeRunner.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/JarModeRunner.java index 4805a633d48c..fd47f8850e38 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/JarModeRunner.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/JarModeRunner.java @@ -40,8 +40,14 @@ static void main(String[] args) { ClassUtils.getDefaultClassLoader()); for (JarMode candidate : candidates) { if (candidate.accepts(mode)) { - candidate.run(mode, args); - return; + try { + candidate.run(mode, args); + return; + } catch (RuntimeException e) { + if (!Boolean.getBoolean(DISABLE_SYSTEM_EXIT)) { + System.exit(1); + } + } } } System.err.println("Unsupported jarmode '" + mode + "'");