Как указать файлы внешних свойств в application.properties при загрузке Spring?

#java #spring #spring-boot #properties #path

#java #spring #весенняя загрузка #свойства #путь

Вопрос:

У меня есть проект Projects/MyApp .

У меня есть файлы внешних свойств Projects/files .

Я пытаюсь использовать в application.properties :

 spring.config.location=classpath:../files
  

files каталог содержит application-database.properties

Я также пробовал spring.config.location=file:../files/application-database.properties

но это не работает. Что не так?

Комментарии:

1. Насколько я понимаю вопрос, у вас возникла проблема при выборе файла из classpath. Вам не нужно указывать src / main /resources, поскольку это путь к классу по умолчанию. Также используйте относительный путь, а не абсолютный путь.

2. куда следует поместить файлы? В том же каталоге, что и project.war? Подходит ли что-то вроде этого -> spring.config.дополнительно-localtion:file../../../database.properties?

3. Вам не нужно беспокоиться о структуре каталогов после сборки, если вы упаковываете ее в свой war. Просто укажите относительное имя файла, помещенное в classpath. В случае, если вы хотите выполнить экстернализацию, установите некоторый базовый каталог и прочитайте его из application.properties, а затем поместите весь ваш файл в этот базовый каталог. например, basedirectory = /opt/base.

4. Dir/MyApp и Dir/ MyAppFiles. Я пытаюсь использовать в application.properties spring.config.location=classpath: ../MyAppFiles/application-database.properties, это не работает

Ответ №1:

насколько я понимаю, вы должны использовать свойства для вашей базы данных в application-database.properties файле, и вы не хотите получать учетные данные в вашем war файле после сборки. Вы можете поместить учетные данные вашей базы данных в переменные среды Idea и удалить из .properties файла. Что вы об этом думаете? введите описание изображения здесь

Комментарии:

1. Можно ли указать с его помощью, но используя внешний файл?

2. @Donatello Я уверен, что вы можете найти это здесь docs.spring.io/spring-boot/docs/current/reference/html /…

3. Спасибо за ваши ответы. Я попытаюсь найти способ, но в любом случае ваш метод работает