Я пытаюсь запустить Spring Boot как сервис, используя init.d.Я сталкиваюсь с проблемой, что -Dspring.profiles.active = xxx не рассматривается, и Spring сообщает, что активные профили не найдены. Профиль по умолчанию установлен.
Я использую SpringBoot версии 1.5.13.
Ниже приведены мои настройки файла конфигурации
JAVA_OPTS="-Xms2048m -Xmx2048m -XX:+UseG1GC -XX:+UseStringDeduplication -Djsse.enableSNIExtension=false -Djava.security.egd=file:/dev/./urandom"
MODE=service
RUN_ARGS=-Dspring.profiles.active=myprofile
Я даже пытался установить переменные среды RUN_ARGS, но служба все равно не получает его.
Мой файл конфигурации расположен в другой папке по сравнениюв мой файл JAR, и я использовал bootRepackage в моей сборке Gradle, чтобы указать на местоположение (пример, как показано ниже)
bootRepackage {
mainClass = 'com.test.myapp.MyAppApplication'
executable = true
embeddedLaunchScriptProperties =
[
'mode': 'service',
'confFolder': '/etc/myapp/conf'
]
excludeDevtools = true
}
Имя моего bootJar и имя Confфайл такой же.Также я вижу, что указанный confFolder правильно берется внутри bootJar, когда я делаю head -100 myapp.jar
Я использовал ospackage для связывания моего весеннего загрузочного приложения как rpm, а затемЯ развертываю его с помощью yum install и запускаю сервис.
Я не уверен, что мне не хватает.Любая помощь будет высоко ценится.