Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring boot starts even if start with nonexistent profile

I have spring boot application - server.jar with next structure:

-resources
 -application.yaml

After the build, I create a folder with a name source. And put my jar to this folder. Also, I create start .bat file

-source
 -server.jar
 -start.bat

In start.but the file I write next:

java -Dspring.profiles.active="foofoofoo" -jar server.jar
pause

When I run start.bat my server starts with log:

The following profiles are active: foofoofoo

And use properties from application.yaml. I have not profile with name foofoofoo and I have not apllication-foofoofoo.yaml. Why? Why spring writes that it loads foofoofoo profile, load application.yaml and work?

It must crash because I start the application with the nonexistent profile!

Instead, I see a running application with another property! How can I process this?

like image 296
ip696 Avatar asked Nov 25 '25 00:11

ip696


1 Answers

When you start the application application.yml file in your resources directory is getting included anyway.

If you also have application-yourProfileName.yml in resources directory and add

--spring.profile.active=yourProfileName parameter,

then both property files are getting included, and NOTE that in this case application-yourProfileName.yml override the same properties in application.yml.

like image 175
htshame Avatar answered Nov 27 '25 13:11

htshame



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!