简体   繁体   中英

Custom application properties in spring boot using IntelliJ

I'm trying to use application properties, other than application.properties, say application_local.properties within resources directory.

So that I can have 2 properties files, one for local and other the server.

As mentioned in many blogs, I should use below command:

spring-boot:run -Dspring.config.location=/Users/myuser/work/MyProject/my-app/src/main/resources/application_local.properties

But this is not working, it is still fetching values from application.properties.

What am I missing, please suggest?

Thanks

1- Follow the naming convention application-{profile}.properties

  • application-local.properties

2-set profile

  • -Dspring.profiles.active=local

Briefly, you can use these two links:

  1. How to load property file based on spring profiles
  2. spring-profiles

-Dspring.profile.location takes directory as input. The purpose of this property is to specify additional directory location to keep your property files.

You are using property file name in your command.

Refer to detailed @ Answer at other thread here

Instead you can use as suggested by @mehardad

The -D option will send parameters to Java virtual machine. In order to send parameters to Spring boot, the command option of '--' must be used.

Example:

Suppose, there is an option named 'spring.profiles.active' defined in the application.properties file as follows:

spring.profiles.active=dev

This option can be overwritten using command line parameter as follows:

java -jar application.jar --spring.profiles.active=prod

Use Spring profiles and choose at runtime, locally would

-Dspring.profiles.active=local

The property file should be called application-local.properties

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM