2 Опции:
- Создайте
common/application.properties
с помощью configuration-maven-plugin
и фильтруйте файлы для каждой среды.Он устарел. - Используйте
application-<env>.properties
для каждой среды и передайте -Dspring.profiles.active=<env>
в качестве опции ВМ при запуске приложения.Spring автоматически извлечет свойство из правильного файла.
В варианте 2 вы будете перезаписывать все, что присутствует в application.properties, с application-.properties.Таким образом, вам не нужно добавлять только свойства, которые вам нужно изменить для каждой среды.
, например:
Ваш application.properties
может иметь
logging.level.root=WARN
logging.level.org.apache=WARN
logging.level.org.springframework=WARN
Ваш application-dev.properties
может иметь
logging.level.org.springframework=DEBUG
, что означает, что при запуске приложения с использованием профиля dev
пружина занимает
logging.level.root=WARN
logging.level.org.apache=WARN
logging.level.org.springframework=DEBUG
редактировать:
Также вы можете попробоватьчто-то вроде ниже в вашем классе.(Spring перезапишет значение в config.properties значениями из config-dev.properties).ignoreResourceNotFound
убедится, что приложение все равно будет запускаться со значениями по умолчанию, даже если соответствующий файл не найден.
@Configuration
@PropertySource("classpath:config.properties")
@PropertySource(value = "classpath:config-${spring.profiles.active}.properties", ignoreResourceNotFound = true)