From 5b2d1f19a0018418ee1466a45e25ab93d9434211 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Thu, 28 Jan 2021 18:38:24 -0800 Subject: [PATCH] Polish 'Add note about exploded jars and banner properties' See gh-24982 --- .../src/docs/asciidoc/spring-boot-features.adoc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc index 2d1a0588f8..a9799d2300 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc @@ -150,8 +150,14 @@ You can also use the configprop:spring.main.banner-mode[] property to determine The printed banner is registered as a singleton bean under the following name: `springBootBanner`. -NOTE: If you are running with an unpacked jar (and not using the Spring Boot launcher), `application.*` properties are not available. -As a workaround, you can use JarLauncher to start the app (for example, `java -cp . org.springframework.boot.loader.JarLauncher`). +[NOTE] +==== +The `${application.version}` and `${application.formatted-version}` properties are only available if you are using Spring Boot launchers. +The values won't be resolved if you are running an unpacked jar and starting it with `java -cp `. + +This is why we recommend that you always use launch unpacked jars using `java org.springframework.boot.loader.JarLauncher`. +This will initialize the `application.*` banner variables before building the classpath and launching your app. +====