#java #spring
#java #spring
Вопрос:
У меня есть application.yml, и у меня есть второй файл. Он может быть назван как угодно, но мне нужно загружаться с них обоих. Они не будут перекрываться, поэтому перезапись не вызывает беспокойства. К сожалению, я не могу использовать профили для разделения данных и нуждаюсь в двух файлах.
Для файловой структуры у меня есть:
src
main
resources
application.yml
layer2
secondFile.yml
Я пробовал:
- Добавление spring.config.additional-location в мой application.yml. Кажется, что это никогда не загружает второй файл. Я пробовал с обоими
classpath
иfile
, но я мог делать это неправильно. - В Application.java , изменив main на use
System.setProperty("spring.config.location", "{file and classpath attempts}")
, а также создав новый набор свойств и передав их в SpringApplication перед его запуском.
Есть ли что-то, чего мне не хватает? Возможно, я неправильно форматирую путь к классу или выбор файла, но я не уверен, как это проверить.
Для первого стиля попытки, application.yml — это просто:
spring:
config:
additional-location: "optional:classpath:/layer2/secondFile.yml"
Комментарии:
1. Почему вы не можете использовать профили?
2. @Andreas Я пытаюсь упростить, удалив некоторые общие конфигурации из нескольких модулей. Итак, конечная цель, на которую я надеюсь, — это иметь что-то вроде общей конфигурации, где каждый модуль имеет приложение. yml с информацией о конкретном проекте.
3. Так почему же каждый модуль не может быть также профилем? Позволяет ли вам помещать конфигурацию, зависящую от конкретного модуля, в файлы конфигурации, зависящие от профиля? Профиль — это (означает) то, что вы решаете, что это такое.