Я хочу запустить свой 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
Я был там, но не знаю, как указать /opt/app/app3/application1.yaml
Прочтите документы, в которых это объясняется, какие свойства передавать.
теперь у приложения Spring Boot есть проблема с загрузкой класса из папки lib (BOOT-INF\lib\там какой-то JAR). Но эта проблема возникает только в том случае, если я загружаю application.yaml из тома докера.
официальный документ объясняет именно ваш случай.
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
--spring.config.location не только переопределяет свойства Spring из BOOT-INF\classes\, но и отключает их все. Таким образом, свойства BOOT-INF\classes\application.yml больше не учитываются, а учитываются только свойства в /opt/app/app3/application3.yaml См. мой комментарий выше: теперь у приложения Spring Boot есть проблема с загрузкой класса из папки lib (BOOT-INF\lib\там какой-то JAR)...
spring.config.additional-location - это то, что мне нужно
java -jar /opt/app/app.jar --spring.config.additional-location=/opt/app/app3/application3.yaml
А что, если бы была какая-то официальная документация, объясняющая это...