Clarify property expansion

So far we have wrongly advertized that the `spring-boot-starter-parent`
filters application configuration in such a way that standard Spring
placeholders are not processed.

In order to achieve such feature, the `useDefaultDelimiters` property
must be set to `false` as otherwise default delimiters are appended to
the list of custom delimiters.

This property is not enabled so that only keys surrounded by `@` are
filtered by the build.

Closes gh-3092
This commit is contained in:
Stephane Nicoll
2015-10-13 11:41:23 +02:00
parent 8e0a94f1d7
commit f4c1efd128
2 changed files with 5 additions and 3 deletions

View File

@@ -363,9 +363,6 @@ Maven '`project properties`' via `@..@` placeholders, e.g.
info.build.version=@project.version@
----
NOTE: In the above example we used `+project.*+` to set some values to be used as
fallbacks if the Maven resource filtering has not been switched on for some reason.
TIP: The `spring-boot:run` maven goal adds `src/main/resources` directly to the classpath
(for hot reloading purposes). This circumvents the resource filtering and this feature.
You can use the `exec:java` goal instead or customize the plugin's configuration, see the
@@ -396,10 +393,14 @@ and (inside `<plugins/>`):
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
----
NOTE: The `useDefaultDelimiters` property is important if you are using standard
Spring placeholders in your configuration (e.g. `${foo}`). These may be expanded
by the build if that property is not set to `false`.
[[production-ready-application-info-automatic-expansion-gradle]]

View File

@@ -114,6 +114,7 @@
<delimiters>
<delimiter>${resource.delimiter}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
<plugin>