I am using Spring Boot 3.2.1.
I don't want to put sensitive data at config file as application.yml. So they are referring to environment variables.
Execution works fine at IntelliJ configuration settings for application (at Environment variables section).
However, it fails for maven execution from the console:
./mvnw -Ddemo-api-key=all56 -Ddemo-host=https://demo.api spring-boot:run
Here is exception details:
java.lang.IllegalArgumentException: Not enough variable values available to expand 'demo-host'
        at org.springframework.web.util.UriComponents$VarArgsTemplateVariables.getValue(UriComponents.java:367) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
        at org.springframework.web.util.UriComponents.expandUriComponent(UriComponents.java:262) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
        at org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.expand(HierarchicalUriComponents.java:960) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
        at org.springframework.web.util.HierarchicalUriComponents.expandInternal(HierarchicalUriComponents.java:434) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
        at org.springframework.web.util.HierarchicalUriComponents.expandInternal(HierarchicalUriComponents.java:52) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
        at org.springframework.web.util.UriComponents.expand(UriComponents.java:172) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
Here is a snippet from application.yml:
car-parks-url: ${demo-host}/cap-ws/getCarParks?apiKey=${demo-api-key}
If I will put it higher at application.yml it works fine:
demo-api-key: all56
demo-host: https://demo.api
URL is formed correctly and all data are pulled fine.
Could not understand what is missed for passing it as the environment variables with maven?