Добавление дополнительных параметров в приложение 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

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/common-application-properties.html


Я не смог найти никакого решения, включая то, которое я описал в вопросе - кажется, что дополнительные параметры плагина также не работают.

в конце я решил его, используя подход к обслуживанию 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"

https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/deployment-install.html#deployment-script-customization-conf-file