Добавьте дополнительные параметры в Spring Приложение для загрузки

Мне интересно, добавить ли дополнительные параметры spring, такие как -Dspring.profiles.active=prod to spring загрузочное приложение, в случае его запуска в качестве service.

Я проверил script, который был сгенерирован автоматически с помощью spring-boot-maven-plugin:

command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $jarfile [email protected]"

так что, возможно, это можно сделать с помощью параметров плагина maven, но не смог найти ничего, кроме аргументов JVM, которые не так полезны...

Ответ 1

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

В конце я решил это, используя системный подход 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

Ответ 2

Вы можете использовать внешний файл конфигурации, например.

На основании документации, если вы предоставите файл application.properties в каталоге ./config рядом с исполняемым файлом jar, вы можете настроить активный профиль через этот файл свойств.

Просто используйте spring.profiles.active=myprofile в ./config/application.properties

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

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