Добавление дополнительных параметров в приложение Spring Boot
мне интересно, можно ли добавить дополнительные параметры spring, такие как -Dspring.profiles.active=prod
для spring boot app в случае запуска его как сервис.
Я проверил скрипт, который был сгенерирован автоматически с помощью spring-boot-maven-plugin
:
command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $jarfile $@"
поэтому, возможно, это можно сделать с помощью опций плагина maven, но не смог найти никаких, кроме аргументов JVM, которые не так полезны...
3 ответов
вы можете использовать внешний файл конфигурации, например.
на основе документации, если указать на ./config
каталог рядом с выполненной jar вы можете настроить активный профиль через этот файл свойств.
просто использовать spring.profiles.active=myprofile
in ./config/application.properties
Я не смог найти никакого решения, включая то, которое я описал в вопросе - кажется, что дополнительные параметры плагина также не работают.
в конце я решил его, используя подход к обслуживанию systemd.
выглядит так и работает отлично:
[Unit]
Description=Some app
After=syslog.target
[Service]
ExecStart=java -Dspring.profiles.active=production -jar /home/apps/monitoring-app-1.0.0.jar
[Install]
WantedBy=multi-user.target
создать .conf-файл в том же каталоге с тем же именем, что и исполняемый jar, например
server-1.0-SNAPSHOT.jar server-1.0-SNAPSHOT.conf
JAVA_OPTS="-Xmx500m \
-Dspring.profiles.active=myprofile"