Добавьте дополнительные параметры в 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
Ответ 3
Создайте файл .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/reference/html/deployment-install.html#deployment-script-customization-conf-file