#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. Спасибо за ваши ответы. Я попытаюсь найти способ, но в любом случае ваш метод работает