Файлы application.yaml для запуска некоторых приложений Spring Boot

Я хочу запустить свой app.jar (Spring Boot), используя другие свойства, предоставив некоторые файлы yaml, например. в папках

/opt/app/app1/application1.yaml
/opt/app/app2/application2.yaml
/opt/app/app3/application3.yaml

Каждый yaml предназначен для одной конфигурации приложения.

Есть ли способ указать новый application.yaml в качестве параметра после jar sth. нравиться:

java -jar /opt/app/app.jar /opt/app/app3/application1.yaml
java -jar /opt/app/app.jar /opt/app/app3/application2.yaml
java -jar /opt/app/app.jar /opt/app/app3/application3.yaml

Мы запускаем наше приложение, используя PropertiesLauncher с параметром -cp.

java -Xmx4096M -cp /opt/app/app.jar -Dloader.path=additional-libs/ -Dloader.main=app.SpringBootApplication org.springframework.boot.loader.PropertiesLauncher

А что, если бы была какая-то официальная документация, объясняющая это...

M. Deinum 23.11.2022 14:03

Я был там, но не знаю, как указать /opt/app/app3/application1.yaml

beub 23.11.2022 14:08

Прочтите документы, в которых это объясняется, какие свойства передавать.

M. Deinum 23.11.2022 14:45

теперь у приложения Spring Boot есть проблема с загрузкой класса из папки lib (BOOT-INF\lib\там какой-то JAR). Но эта проблема возникает только в том случае, если я загружаю application.yaml из тома докера.

beub 23.11.2022 16:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
151
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

официальный документ объясняет именно ваш случай.

java -jar /opt/app/app.jar --spring.config.location=/opt/app/app3/application3.yaml

Что насчет использования java -Xmx4096M -cp /opt/app/app.jar -Dloader.path=additional-libs/ -Dloader.main=app.SpringBootApplication org.springframework.boot.loader.PropertiesLauncher --spring.config.location =/опт/приложение/приложение3/application3.yaml

beub 23.11.2022 16:47

--spring.config.location не только переопределяет свойства Spring из BOOT-INF\classes\, но и отключает их все. Таким образом, свойства BOOT-INF\classes\application.yml больше не учитываются, а учитываются только свойства в /opt/app/app3/application3.yaml См. мой комментарий выше: теперь у приложения Spring Boot есть проблема с загрузкой класса из папки lib (BOOT-INF\lib\там какой-то JAR)...

beub 24.11.2022 09:45

spring.config.additional-location - это то, что мне нужно

beub 24.11.2022 10:04
Ответ принят как подходящий
java -jar /opt/app/app.jar --spring.config.additional-location=/opt/app/app3/application3.yaml

Другие вопросы по теме